From f054a487ef0f2c57b3fbf9a9c18af8a5ca2ee938 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2026 18:47:12 +1000 Subject: [PATCH] New Crowdin translations by GitHub Action (#12535) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../InvenTree/locale/ar/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/bg/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/cs/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/da/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/de/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/el/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/en/LC_MESSAGES/django.po | 1076 ++++++++-------- .../InvenTree/locale/es/LC_MESSAGES/django.po | 1078 ++++++++-------- .../locale/es_MX/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/et/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/fa/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/fi/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/fr/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/he/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/hi/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/hu/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/id/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/it/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/ja/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/ko/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/lt/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/lv/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/nl/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/no/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/pl/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/pt/LC_MESSAGES/django.po | 1078 ++++++++-------- .../locale/pt_BR/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/ro/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/ru/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/sk/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/sl/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/sr/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/sv/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/th/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/tr/LC_MESSAGES/django.po | 1078 ++++++++-------- .../InvenTree/locale/uk/LC_MESSAGES/django.po | 1080 +++++++++-------- .../InvenTree/locale/vi/LC_MESSAGES/django.po | 1078 ++++++++-------- .../locale/zh_Hans/LC_MESSAGES/django.po | 1080 +++++++++-------- .../locale/zh_Hant/LC_MESSAGES/django.po | 1078 ++++++++-------- src/frontend/src/locales/ar/messages.po | 446 +++---- src/frontend/src/locales/bg/messages.po | 446 +++---- src/frontend/src/locales/cs/messages.po | 446 +++---- src/frontend/src/locales/da/messages.po | 446 +++---- src/frontend/src/locales/de/messages.po | 446 +++---- src/frontend/src/locales/el/messages.po | 446 +++---- src/frontend/src/locales/en/messages.po | 444 +++---- src/frontend/src/locales/es/messages.po | 448 +++---- src/frontend/src/locales/es_MX/messages.po | 446 +++---- src/frontend/src/locales/et/messages.po | 446 +++---- src/frontend/src/locales/fa/messages.po | 446 +++---- src/frontend/src/locales/fi/messages.po | 446 +++---- src/frontend/src/locales/fr/messages.po | 446 +++---- src/frontend/src/locales/he/messages.po | 446 +++---- src/frontend/src/locales/hi/messages.po | 446 +++---- src/frontend/src/locales/hu/messages.po | 446 +++---- src/frontend/src/locales/id/messages.po | 446 +++---- src/frontend/src/locales/it/messages.po | 446 +++---- src/frontend/src/locales/ja/messages.po | 446 +++---- src/frontend/src/locales/ko/messages.po | 446 +++---- src/frontend/src/locales/lt/messages.po | 446 +++---- src/frontend/src/locales/lv/messages.po | 446 +++---- src/frontend/src/locales/nl/messages.po | 446 +++---- src/frontend/src/locales/no/messages.po | 446 +++---- src/frontend/src/locales/pl/messages.po | 446 +++---- src/frontend/src/locales/pt/messages.po | 446 +++---- src/frontend/src/locales/pt_BR/messages.po | 446 +++---- src/frontend/src/locales/ro/messages.po | 446 +++---- src/frontend/src/locales/ru/messages.po | 446 +++---- src/frontend/src/locales/sk/messages.po | 446 +++---- src/frontend/src/locales/sl/messages.po | 446 +++---- src/frontend/src/locales/sr/messages.po | 446 +++---- src/frontend/src/locales/sv/messages.po | 446 +++---- src/frontend/src/locales/th/messages.po | 446 +++---- src/frontend/src/locales/tr/messages.po | 446 +++---- src/frontend/src/locales/uk/messages.po | 446 +++---- src/frontend/src/locales/vi/messages.po | 446 +++---- src/frontend/src/locales/zh_Hans/messages.po | 446 +++---- src/frontend/src/locales/zh_Hant/messages.po | 446 +++---- 78 files changed, 30265 insertions(+), 29173 deletions(-) diff --git a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po index 416f76f71f..3a81c53931 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Language: ar_SA\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "تعذّر تحويل {original} إلى {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "الكمية المقدمة غير صحيحة" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "يمكن العثور على تفاصيل الخطأ في لوحة التحكم" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "غير صالح عشري قيمة" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "القيمة '{name}' لا تظهر في تنسيق النمط" msgid "Provided value does not match required pattern: " msgstr "القيمة المقدمة لا تتطابق مع النمط المطلوب: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "لا يمكن ترقيم تسلسلي المزيد من 1000 عناصر عند once" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "سلسلة الرقم التسلسلي فارغة" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "تكرار التسلسل" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "غير صالح مجموعة: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "نطاق المجموعة {group} يتجاوز الكَمّيَّة المسموح بها ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "لم يتم العثور على أرقام متسلسلة" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "عدد فريد الأرقام التسلسلية ({n}) يجب مطابقة كمية ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "إزالة علامات HTML من هذه القيمة" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "بيانات يحتوي prohibited markdown محتوى" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "غير صالح URL: لا hostname" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "غير صالح URL: hostname يمكن غير يكون resolved" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "URL points إلى خاص أو reserved IP عنوان" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "أيضًا many redirects" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "خطأ فى الاتصال" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "خادم responded مع غير صالح حالة رمز" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Exception حدث" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "خادم responded مع غير صالح Content-Length قيمة" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "صورة حجم هو أيضًا large" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "صورة تنزيل exceeded أقصى حجم" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "بعيد خادم مرتجع فارغ استجابة" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "مورد URL هو غير صالح صورة ملف" @@ -280,7 +284,7 @@ msgstr "غير صالح choice" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "الاسم" @@ -288,7 +292,7 @@ msgstr "الاسم" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "خطأ لديه تم مسجل حسب ال خادم." msgid "Image" msgstr "الصورة" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "يجب يكون صالح رقم" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "العملة" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "تحديد عملة من متاح خيارات" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "هذا حقل قد غير يكون null." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "غير صالح قيمة" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "غير صالح محتوى نوع تنسيق" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "محتوى نوع غير تم العثور" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "محتوى نوع يقوم غير مطابقة مطلوب mixin class" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "نسخ معلمات" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "نسخ معلمات من ال أصلي عنصر" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "نسخ سطور" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "نسخ البنود من ال أصلي طلب" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "نسخ إضافي سطور" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "نسخ إضافي البنود من ال أصلي طلب" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "Duplication خيارات" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "تحديد خيارات لـ duplicating هذا عنصر" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "أصلي" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "تحديد نسخة إلى نسخ" @@ -597,20 +601,20 @@ msgstr "الأصل إنتاج" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "تضمين متغيرات" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "تضمين متغيرات" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "تضمين متغيرات" msgid "Part" msgstr "الصنف" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "الفئة" @@ -650,11 +654,11 @@ msgstr "مسند إلى me" msgid "Assigned To" msgstr "مسند إلى" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "تم الإنشاء قبل" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "تم الإنشاء بعد" @@ -706,18 +710,18 @@ msgstr "استبعاد Tree" msgid "Build must be cancelled before it can be deleted" msgstr "يجب أن يكون إنتاج ملغى قبل هو يمكن يكون تم الحذف" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "قابل للاستهلاك" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "اختياري" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "تجميع" @@ -725,7 +729,7 @@ msgstr "تجميع" msgid "Tracked" msgstr "متتبع" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "قابل للاختبار" @@ -733,12 +737,12 @@ msgstr "قابل للاختبار" msgid "Order Outstanding" msgstr "طلب متبقي" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "مخصص" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "مستهلك" @@ -749,7 +753,7 @@ msgstr "مستهلك" msgid "Available" msgstr "متاح" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "أمر إنتاج" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "يجب أن يكون تاريخ هدف تاريخ بعد بدء" msgid "Build Order Reference" msgstr "أمر الإنتاج مرجع" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "طلب البيع مرجع" msgid "Sales Order to which this build is allocated" msgstr "طلب البيع إلى الذي هذا إنتاج هو مخصص" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "المصدر موقع" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "رمز الدفعة لـ هذا مخرجات الإنتاج" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "تاريخ الإنشاء" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "مستخدم من مصروف هذا أمر الإنتاج" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "مسؤول" @@ -965,7 +969,7 @@ msgstr "مستخدم أو مجموعة مسؤول لـ هذا أمر الإنت msgid "External Link" msgstr "خارجي رابط" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "رابط إلى خارجي URL" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "لا يمكن partially مكتمل مخرجات الإنتاج مع مخ #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "إنتاج كائن" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "كمية مستهلك مخزون" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "إنتاج عنصر يجب تحديد مخرجات الإنتاج، بصفته master صنف هو معلّم بصفته قابل للتتبع" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "محدد عنصر المخزون يقوم غير مطابقة BOM سطر" @@ -1118,11 +1122,11 @@ msgstr "مخصص كمية ({q}) يجب غير تجاوز متاح مخزون ك msgid "Stock item is over-allocated" msgstr "عنصر المخزون هو over-allocated" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "عنصر مخزون" @@ -1151,7 +1155,7 @@ msgstr "إنتاج مستوى" msgid "Part Name" msgstr "صنف اسم" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "مخرجات الإنتاج" @@ -1204,12 +1208,12 @@ msgstr "تلقائي تخصيص الأرقام التسلسلية" msgid "Automatically allocate required items with matching serial numbers" msgstr "تلقائيًا تخصيص مطلوب عناصر مع مطابق الأرقام التسلسلية" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "ال التالي الأرقام التسلسلية بالفعل موجود أو هي غير صالح" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "يجب أن يكون قائمة لـ إنتاج مخرجات مقدم" @@ -1233,304 +1237,309 @@ msgstr "Reason لـ scrapping مخرجات الإنتاج(s)" msgid "Location for completed build outputs" msgstr "موقع لـ مكتمل إنتاج مخرجات" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "هيكلي مواقع لا يمكن يكون مسند عناصر المخزون" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "قبول غير مكتمل تخصيص" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "مكتمل مخرجات إذا مخزون لديه غير تم بالكامل مخصص" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "استهلاك مخصص مخزون" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "استهلاك أي مخزون الذي لديه بالفعل تم مخصص إلى هذا إنتاج" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "إزالة غير مكتمل مخرجات" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "حذف أي إنتاج مخرجات الذي لديه غير تم مكتمل" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "غير permitted" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "قبول بصفته مستهلك حسب هذا أمر الإنتاج" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Deallocate قبل completing هذا أمر الإنتاج" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Overallocated مخزون" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "How تنفيذ أنت ترغب إلى handle إضافي عناصر المخزون مسند إلى ال أمر الإنتاج" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Some عناصر المخزون لديه تم overallocated" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "قبول غير مخصص" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "قبول ذلك عناصر المخزون لديه غير تم بالكامل مخصص إلى هذا أمر الإنتاج" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "مطلوب مخزون لديه غير تم بالكامل مخصص" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "قبول غير مكتمل" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "قبول ذلك ال مطلوب رقم لـ إنتاج مخرجات لديه غير تم مكتمل" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "مطلوب إنتاج كمية لديه غير تم مكتمل" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "أمر الإنتاج لديه فتح فرعي أوامر الإنتاج" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "يجب أن يكون أمر الإنتاج في الإنتاج حالة" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "أمر الإنتاج لديه غير مكتمل مخرجات" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "إنتاج سطر" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "مخرجات الإنتاج" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "مخرجات الإنتاج يجب نقطة إلى ال نفس إنتاج" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "إنتاج بند" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.صنف يجب نقطة إلى ال نفس صنف بصفته ال أمر الإنتاج" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "يجب أن يكون عنصر في مخزون" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "يجب أن يكون مخرجات الإنتاج محدد لـ تخصيص لـ متتبع أصناف" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "مخرجات الإنتاج لا يمكن يكون محدد لـ تخصيص لـ untracked أصناف" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "يجب أن يكون تخصيص عناصر مقدم" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "موقع المخزون حيث أصناف هي إلى يكون sourced (ترك فارغ إلى take من أي موقع)" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "استبعاد موقع" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "استبعاد عناصر المخزون من هذا محدد موقع" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Interchangeable مخزون" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "عناصر المخزون في متعدد مواقع يمكن يكون مستخدم interchangeably" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "بديل مخزون" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "السماح تخصيص لـ بديل أصناف" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "اختياري عناصر" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "تخصيص اختياري BOM عناصر إلى أمر الإنتاج" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "الكل عناصر" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "Untracked عناصر" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "متتبع عناصر" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "عنصر نوع" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "تحديد عنصر نوع إلى auto-allocate" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "مخزون Priority" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "Preferred طلب في الذي مطابق عناصر المخزون هي مستهلك" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "إنتاج سطور" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "حد تخصيص إلى هذه إنتاج سطور (ترك فارغ إلى تخصيص الكل سطور)" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "BOM مرجع" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "BOM صنف ID" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "BOM صنف اسم" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "تثبيت إلى" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "إنتاج" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "صنف المورد" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "كمية مخصص" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "إنتاج مرجع" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "فئة الأصناف اسم" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "قابل للتتبع" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "موروث" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "السماح متغيرات" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "عنصر قائمة المواد" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "قيد الإنتاج" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "مجدول إلى إنتاج" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "خارجي مخزون" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "متاح مخزون" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "متاح بديل مخزون" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "متاح متغير مخزون" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "كمية مستهلك كمية يتجاوز مخصص" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "اختياري ملاحظات لـ ال مخزون consumption" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "إنتاج عنصر يجب نقطة إلى ال صحيح أمر الإنتاج" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "نسخ إنتاج عنصر تخصيص" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "إنتاج سطر يجب نقطة إلى ال صحيح أمر الإنتاج" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "نسخ إنتاج سطر تخصيص" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "يجب أن يكون عند أقل واحد عنصر أو سطر مقدم" @@ -1555,7 +1564,7 @@ msgstr "على تعليق" msgid "Cancelled" msgstr "ملغى" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "لا صالح عملة رموز مقدم" msgid "No plugin" msgstr "لا إضافة" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "وسوم" @@ -1667,8 +1676,8 @@ msgstr "مشروع وصف" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "نشط" @@ -1716,7 +1725,7 @@ msgstr "يجب أن يكون مفتاح نص فريد" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "عنوان" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "رابط" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "وحدة definition" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "المرفق" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "حالة منطقي مفتاح ذلك هو equal إلى هذا مخصص حالة في business logic" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "القيمة" @@ -2098,7 +2107,7 @@ msgstr "اسم لـ ال اختيار قائمة" msgid "Description of the selection list" msgstr "وصف لـ ال اختيار قائمة" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "مقفل" @@ -2206,7 +2215,7 @@ msgstr "مربع اختيار معلمات لا يمكن لديه وحدات" msgid "Checkbox parameters cannot have choices" msgstr "مربع اختيار معلمات لا يمكن لديه خيارات" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "يجب أن يكون خيارات فريد" @@ -2222,7 +2231,7 @@ msgstr "هدف نموذج نوع لـ هذا معلمة قالب" msgid "Parameter Name" msgstr "معلمة اسم" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "الوحدات" @@ -2242,7 +2251,7 @@ msgstr "مربع اختيار" msgid "Is this parameter a checkbox?" msgstr "هو هذا معلمة مربع اختيار؟" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "خيارات" @@ -2254,7 +2263,7 @@ msgstr "صالح خيارات لـ هذا معلمة (comma-separated)" msgid "Selection list for this parameter" msgstr "اختيار قائمة لـ هذا معلمة" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "مفعّل" @@ -2308,7 +2317,7 @@ msgstr "قالب" msgid "Parameter template" msgstr "معلمة قالب" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "بيانات" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "معلمة قيمة" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "باركود بيانات" msgid "User who scanned the barcode" msgstr "مستخدم من تم المسح ال باركود" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "طابع زمني" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "استجابة بيانات من ال مسح الباركود" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "نتيجة" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "اسم الملف" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "نموذج نوع" @@ -3008,7 +3017,7 @@ msgstr "أصناف هي قوالب حسب افتراضي" msgid "Parts can be assembled from other components by default" msgstr "أصناف يمكن يكون مجمّع من أخرى مكونات حسب افتراضي" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "مكوّن" @@ -3017,7 +3026,7 @@ msgstr "مكوّن" msgid "Parts can be used as sub-components by default" msgstr "أصناف يمكن يكون مستخدم بصفته sub-components حسب افتراضي" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "قابل للشراء" @@ -3025,7 +3034,7 @@ msgstr "قابل للشراء" msgid "Parts are purchaseable by default" msgstr "أصناف هي قابل للشراء حسب افتراضي" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "قابل للبيع" @@ -3037,7 +3046,7 @@ msgstr "أصناف هي قابل للبيع حسب افتراضي" msgid "Parts are trackable by default" msgstr "أصناف هي قابل للتتبع حسب افتراضي" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "افتراضي" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "الشركة المصنعة" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "الشركة" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "رابط إلى عنوان معلومات (خارجي)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "صنف الشركة المصنعة" @@ -4574,7 +4583,7 @@ msgstr "مرتبط صنف الشركة المصنعة يجب مرجع ال نف #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "المورد" @@ -4610,11 +4619,11 @@ msgstr "URL لـ خارجي صنف المورد رابط" msgid "Supplier part description" msgstr "صنف المورد وصف" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "أساس تكلفة" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "أدنى charge (e.g. stocking fee)" @@ -4635,7 +4644,7 @@ msgstr "كمية حزمة" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "إجمالي كمية مورد في مفرد حزمة. ترك فارغ لـ مفرد عناصر." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "متعدد" @@ -4731,152 +4740,152 @@ msgstr "" msgid "Invalid status code" msgstr "غير صالح حالة رمز" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "بيانات ملف" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "بيانات ملف إلى استيراد" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "أعمدة" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "هدف نموذج نوع لـ هذا استيراد جلسة" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "حالة استيراد" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "حقل Defaults" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "حقل Overrides" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "حقل مرشحات" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "تحديث موجود سجلات" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "إذا مفعّل، موجود سجلات سوف يكون تم التحديث مع جديد بيانات" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Some مطلوب حقول لديه غير تم mapped" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "مكتمل صف عد سجل" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "صف عد سجل" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "موجود قاعدة بيانات معرف لـ ال سجل" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "عمود هو بالفعل mapped إلى قاعدة بيانات حقل" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "حقل هو بالفعل mapped إلى بيانات عمود" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "يجب أن يكون عمود mapping مرتبط إلى صالح استيراد جلسة" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "عمود يقوم غير موجود في ال بيانات ملف" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "حقل يقوم غير موجود في ال هدف نموذج" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "محدد حقل هو read-only" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "بحث حقل يمكن فقط يكون تعيين لـ مرتبط (foreign-key) حقول" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "غير صالح بحث حقل. صالح خيارات هي: {options}" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "استيراد جلسة" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "حقل" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "عمود" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "بحث حقل" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "قاعدة بيانات حقل إلى استخدام لـ foreign-key بحث. ترك فارغ لـ تلقائي بحث." -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "صف Index" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "أصلي صف بيانات" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "أخطاء" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "صالح" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "متعدد matches تم العثور لـ قيمة - يرجى ensure ال قيمة هو فريد، أو تحديد specific بحث حقل" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "لا سجل تم العثور مع ال مقدم ID" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "غير صالح ID تنسيق مقدم" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "ID هو مطلوب لـ جارٍ التحديث موجود سجلات." -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Unsupported بيانات ملف تنسيق" @@ -4884,7 +4893,11 @@ msgstr "Unsupported بيانات ملف تنسيق" msgid "Failed to open data file" msgstr "فشل في فتح بيانات ملف" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "غير صالح بيانات ملف dimensions" @@ -5692,7 +5705,7 @@ msgstr "يجب أن يكون الكمية 1 لـ مسلسل عنصر المخز msgid "Sales order does not match shipment" msgstr "طلب البيع يقوم غير مطابقة شحنة" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "شحنة يقوم غير مطابقة طلب البيع" @@ -5908,7 +5921,7 @@ msgstr "دمج عناصر مع ال نفس صنف، الوجهة و التاري msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "داخلي صنف رقم" @@ -6176,7 +6189,7 @@ msgstr "مفضلة" msgid "Filter by starred categories" msgstr "تصفية حسب مفضلة فئات" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "تصفية حسب فئة depth" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "أعلى مستوى" @@ -6192,7 +6205,7 @@ msgstr "أعلى مستوى" msgid "Filter by top-level categories" msgstr "تصفية حسب top-level فئات" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "تصفية حسب الأصل فئة" msgid "Exclude sub-categories under the specified category" msgstr "استبعاد sub-categories under ال محدد فئة" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "Max مستوى" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "حد ال depth لـ ال فئة tree" @@ -6296,722 +6309,722 @@ msgstr "لديه متاح مخزون" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "فئة الأصناف" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "فئات الأصناف" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "افتراضي موقع" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "افتراضي موقع لـ أصناف في هذا فئة" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "هيكلي" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "أصناف قد غير يكون directly مسند إلى هيكلي فئة، but قد يكون مسند إلى فرعي فئات." -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "افتراضي keywords" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "افتراضي keywords لـ أصناف في هذا فئة" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "أيقونة" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "أيقونة (اختياري)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "أنت لا يمكن make هذا فئة الأصناف هيكلي because some أصناف هي بالفعل مسند إلى هو!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "فئة الأصناف معلمة قالب" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "افتراضي قيمة" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "افتراضي معلمة قيمة" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "الأصناف" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "لا يمكن حذف معلمات لـ مقفل صنف" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "لا يمكن modify معلمات لـ مقفل صنف" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "لا يمكن حذف هذا صنف بصفته هو هو مقفل" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "لا يمكن حذف هذا صنف بصفته هو هو ما زال نشط" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "لا يمكن حذف هذا صنف بصفته هو هو مستخدم في تجميع" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "صنف '{self}' لا يمكن يكون مستخدم في BOM لـ '{parent}' (recursive)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "صنف '{parent}' هو مستخدم في BOM لـ '{self}' (recursive)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN يجب مطابقة تعبير نمطي نمط {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "صنف لا يمكن يكون مراجعة لـ itself" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "يجب أن يكون مراجعة رمز محدد لـ صنف معلّم بصفته مراجعة" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "مراجعات هي فقط مسموح لـ تجميع أصناف" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "لا يمكن make مراجعة لـ قالب صنف" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "الأصل صنف يجب نقطة إلى ال نفس قالب" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "عنصر المخزون مع هذا الرقم التسلسلي بالفعل موجود" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "إعدادات نسخ IPN غير مسموح في صنف" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "نسخ صنف مراجعة بالفعل موجود." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "صنف مع هذا اسم، IPN و مراجعة بالفعل موجود." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "أصناف لا يمكن يكون مسند إلى هيكلي فئات الأصناف!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "صنف اسم" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "هو قالب" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "هو هذا صنف قالب صنف؟" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "هو هذا صنف متغير لـ آخر صنف؟" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "متغير لـ" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "صنف وصف (اختياري)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "صنف keywords إلى improve visibility في بحث نتائج" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "فئة الأصناف" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "صنف مراجعة أو إصدار رقم" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "مراجعة" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "هو هذا صنف مراجعة لـ آخر صنف؟" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "مراجعة لـ" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "حيث هو هذا عنصر normally مخزن؟" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "افتراضي انتهاء" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "انتهاء وقت (في أيام) لـ عناصر المخزون لـ هذا صنف" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "الحد الأدنى للمخزون" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "أدنى مسموح مخزون مستوى" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "الحد الأقصى للمخزون" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "أقصى مسموح مخزون مستوى" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "وحدات لـ measure لـ هذا صنف" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "يمكن هذا صنف يكون built من أخرى أصناف؟" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "يمكن هذا صنف يكون مستخدم إلى إنتاج أخرى أصناف؟" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "يقوم هذا صنف لديه تتبع لـ فريد عناصر؟" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "يمكن هذا صنف لديه اختبار نتائج recorded مقابل هو؟" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "يمكن هذا صنف يكون purchased من خارجي موردون؟" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "يمكن هذا صنف يكون sold إلى عملاء؟" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "هو هذا صنف نشط؟" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "مقفل أصناف لا يمكن يكون تم التحرير" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "هو هذا افتراضي صنف، such بصفته software product أو license؟" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "BOM تم التحقق" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "هو ال BOM لـ هذا صنف صالح؟" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "مخزن BOM checksum" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "BOM محدد حسب" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "تاريخ BOM محدد" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "إنشاء مستخدم" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "مالك مسؤول لـ هذا صنف" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Sell متعدد" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "عملة مستخدم إلى ذاكرة مؤقتة التسعير حسابات" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "أدنى BOM تكلفة" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "أدنى تكلفة لـ مكوّن أصناف" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "أقصى BOM تكلفة" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "أقصى تكلفة لـ مكوّن أصناف" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "أدنى شراء تكلفة" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "أدنى تاريخي شراء تكلفة" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "أقصى شراء تكلفة" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "أقصى تاريخي شراء تكلفة" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "أدنى داخلي سعر" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "أدنى تكلفة استنادًا إلى على داخلي سعر فواصل" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "أقصى داخلي سعر" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "أقصى تكلفة استنادًا إلى على داخلي سعر فواصل" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "أدنى مورد سعر" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "أدنى سعر لـ صنف من خارجي موردون" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "أقصى مورد سعر" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "أقصى سعر لـ صنف من خارجي موردون" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "أدنى متغير تكلفة" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "محسوب أدنى تكلفة لـ متغير أصناف" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "أقصى متغير تكلفة" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "محسوب أقصى تكلفة لـ متغير أصناف" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "أدنى تكلفة" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "تجاوز أدنى تكلفة" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "أقصى تكلفة" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "تجاوز أقصى تكلفة" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "محسوب إجمالي أدنى تكلفة" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "محسوب إجمالي أقصى تكلفة" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "أدنى سعر البيع" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "أدنى سعر البيع استنادًا إلى على سعر فواصل" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "أقصى سعر البيع" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "أقصى سعر البيع استنادًا إلى على سعر فواصل" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "أدنى بيع تكلفة" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "أدنى تاريخي سعر البيع" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "أقصى بيع تكلفة" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "أقصى تاريخي سعر البيع" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "صنف لـ جرد المخزون" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "عنصر عد" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "عدد individual مخزون سجلات عند وقت لـ جرد المخزون" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "إجمالي متاح مخزون عند وقت لـ جرد المخزون" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "التاريخ" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "تاريخ جرد المخزون كان performed" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "أدنى مخزون تكلفة" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Estimated أدنى تكلفة لـ مخزون على hand" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "أقصى مخزون تكلفة" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Estimated أقصى تكلفة لـ مخزون على hand" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "صنف سعر البيع فاصل" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "صنف اختبار قالب" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "غير صالح قالب اسم - يجب تضمين عند أقل واحد alphanumeric character" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "اختبار قوالب يمكن فقط يكون تم الإنشاء لـ قابل للاختبار أصناف" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "اختبار قالب مع ال نفس مفتاح بالفعل موجود لـ صنف" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "اختبار اسم" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "إدخال اسم لـ ال اختبار" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "اختبار مفتاح" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Simplified مفتاح لـ ال اختبار" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "اختبار وصف" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "إدخال وصف لـ هذا اختبار" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "هو هذا اختبار مفعّل؟" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "مطلوب" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "هو هذا اختبار مطلوب إلى نجاح؟" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "يتطلب قيمة" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "يقوم هذا اختبار طلب قيمة عند إضافة نتيجة الاختبار؟" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "يتطلب مرفق" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "يقوم هذا اختبار طلب ملف مرفق عند إضافة نتيجة الاختبار؟" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "صالح خيارات لـ هذا اختبار (comma-separated)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "غير صالح كمية - لا وحدات محدد لـ صنف" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "يجب أن يكون الكمية أكبر من أو equal إلى صفر" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "BOM عنصر لا يمكن يكون modified - تجميع هو مقفل" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "BOM عنصر لا يمكن يكون modified - متغير تجميع هو مقفل" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "تحديد الأصل صنف" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Sub صنف" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "تحديد صنف إلى يكون مستخدم في BOM" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "Amount لـ sub-part مستهلك إلى produce واحد صنف" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "BOM كمية لـ هذا BOM عنصر" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "هذا BOM عنصر هو اختياري" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "هذا BOM عنصر هو قابل للاستهلاك (هو هو غير متتبع في أوامر الإنتاج)" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "كمية إعداد" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "إضافي مطلوب كمية لـ إنتاج، إلى حساب لـ إعداد losses" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Estimated attrition لـ إنتاج، expressed بصفته percentage (0-100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "Rounding متعدد" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Round أعلى مطلوب الإنتاج كمية إلى nearest متعدد لـ هذا قيمة" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "BOM عنصر مرجع" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "BOM عنصر ملاحظات" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "BOM سطر checksum" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "تم التحقق" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "هذا BOM عنصر لديه تم تم التحقق" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Gets موروث" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "هذا BOM عنصر هو موروث حسب BOMs لـ متغير أصناف" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "عناصر المخزون لـ متغير أصناف يمكن يكون مستخدم لـ هذا BOM عنصر" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "يجب أن يكون الكمية عدد صحيح قيمة لـ قابل للتتبع أصناف" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "يجب أن يكون Sub صنف محدد" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "BOM عنصر بديل" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "بديل صنف لا يمكن يكون ال نفس بصفته ال master صنف" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "الأصل BOM عنصر" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "بديل صنف" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "صنف 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "صنف 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "تحديد مرتبط صنف" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "ملاحظة لـ هذا relationship" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "صنف relationship لا يمكن يكون تم الإنشاء بين صنف و itself" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "نسخ relationship بالفعل موجود" @@ -7375,41 +7388,41 @@ msgstr "نسخ بديل أصناف" msgid "Copy substitute parts when duplicate BOM items" msgstr "نسخ بديل أصناف عند نسخ BOM عناصر" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "منخفض مخزون إشعار" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "ال متاح مخزون لـ {part.name} لديه fallen below ال مهيأ أدنى مستوى" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "قديم مخزون إشعار" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "تاريخ أنت لديه 1 عنصر المخزون approaching its انتهاء" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "أنت لديه {item_count} عناصر المخزون approaching الخاص بهم انتهاء تواريخ" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "تاريخ لا انتهاء" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "منتهي {abs(days_diff)} أيام ago" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry} أيام" @@ -7462,71 +7475,79 @@ msgstr "نموذج نسخة غير تم العثور" msgid "Barcode matches existing item" msgstr "باركود matches موجود عنصر" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "لم يتم العثور على مطابق صنف بيانات" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "لم يتم العثور على مطابق أصناف المورد" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "متعدد مطابق أصناف المورد تم العثور" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "لا يوجد إضافة تم العثور لـ باركود بيانات مطابق" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Matched صنف المورد" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "عنصر لديه بالفعل تم مستلم" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "طلب الشراء Found\\rNo صنف المورد مطابقة" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "صنف المورد Found\\rNo طلب الشراء مطابقة" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "لا إضافة مطابقة لـ مورد باركود" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "متعدد مطابق البنود تم العثور" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "لم يتم العثور على مطابق بند" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "لا طلب البيع مقدم" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "باركود يقوم غير مطابقة موجود عنصر المخزون" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "عنصر المخزون يقوم غير مطابقة بند" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Insufficient مخزون متاح" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "عنصر المخزون مخصص إلى طلب البيع" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "غير enough معلومات" @@ -8589,19 +8610,19 @@ msgstr "غير صالح ملصق dimensions" msgid "No valid items provided to template" msgstr "لا صالح عناصر مقدم إلى قالب" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "لا نتيجة" msgid "Transferred" msgstr "محوّل" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "غير صالح media ملف مسار" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "غير صالح static ملف مسار" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "أصل ملف غير تم العثور" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "صورة ملف غير تم العثور" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "لا صورة ملف محدد" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "part_image وسم يتطلب صنف نسخة" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "company_image وسم يتطلب شركة نسخة" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "تصفية حسب موقع depth" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "تصفية حسب top-level مواقع" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "تضمين sub-locations في filtered نتائج" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "الأصل موقع" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "تصفية حسب الأصل موقع" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "صنف اسم (case insensitive)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "صنف اسم يحتوي (case insensitive)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "صنف اسم (تعبير نمطي)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "صنف IPN (case insensitive)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "صنف IPN يحتوي (case insensitive)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "صنف IPN (تعبير نمطي)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "أدنى مخزون" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "أقصى مخزون" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "حالة رمز" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "خارجي موقع" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "مستهلك حسب أمر الإنتاج" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "مثبت في أخرى عنصر المخزون" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "صنف Tree" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "تم التحديث قبل" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "تم التحديث بعد" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "جرد المخزون قبل" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "جرد المخزون بعد" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "تاريخ لديه جرد المخزون" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "انتهاء تاريخ قبل" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "انتهاء تاريخ بعد" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "قديم" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "Cascade مواقع" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "إذا صحيح، تضمين عناصر في فرعي مواقع لـ ال معطى موقع" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "تصفية حسب numeric موقع ID أو ال literal 'null'" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "الكمية مطلوب" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "يجب أن يكون صالح صنف مورد" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "ال معطى صنف المورد يقوم غير موجود" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "ال صنف المورد لديه حزمة حجم محدد، but flag use_pack_size غير تعيين" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "الأرقام التسلسلية لا يمكن يكون مورد لـ non-trackable صنف" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "تضمين مثبت" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "إذا صحيح، تضمين اختبار نتائج لـ عناصر مثبت underneath ال معطى عنصر المخزون" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "تصفية حسب numeric عنصر المخزون ID" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "عنصر المخزون مع ID {id} يقوم غير موجود" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "تضمين صنف متغيرات" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "تاريخ بعد" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "تاريخ قبل" @@ -9346,115 +9367,115 @@ msgstr "يجب أن يكون الأرقام التسلسلية مقدم بصفت msgid "Quantity does not match serial numbers" msgstr "كمية يقوم غير مطابقة الأرقام التسلسلية" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "اختبار قالب يقوم غير موجود" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "عنصر المخزون لديه تم مسند إلى طلب البيع" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "عنصر المخزون هو مثبت في آخر عنصر" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "عنصر المخزون يحتوي أخرى عناصر" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "عنصر المخزون لديه تم مسند إلى عميل" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "عنصر المخزون هو حاليًا في الإنتاج" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "مسلسل مخزون لا يمكن يكون merged" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "نسخ عناصر المخزون" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "عناصر المخزون يجب refer إلى ال نفس صنف" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "عناصر المخزون يجب refer إلى ال نفس صنف المورد" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "مخزون حالة رموز يجب مطابقة" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "StockItem لا يمكن يكون moved بصفته هو هو غير في مخزون" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "عنصر المخزون تتبع" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "سجل ملاحظات" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "عنصر المخزون نتيجة الاختبار" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "يجب أن يكون القيمة مقدم لـ هذا اختبار" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "يجب أن يكون المرفق تم الرفع لـ هذا اختبار" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "غير صالح قيمة لـ هذا اختبار" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "نتيجة الاختبار" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "اختبار مخرج قيمة" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "نتيجة الاختبار مرفق" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "اختبار ملاحظات" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "اختبار station" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "ال معرف لـ ال اختبار station حيث ال اختبار كان performed" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "بدأ" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "ال طابع زمني لـ ال اختبار بدء" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "ال طابع زمني لـ ال اختبار finish" @@ -9617,11 +9638,6 @@ msgstr "كمية كمية إلى تثبيت يجب غير تجاوز متاح" msgid "Destination location for uninstalled item" msgstr "الوجهة موقع لـ غير مثبت عنصر" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "هيكلي مواقع لا يمكن يكون مسند عناصر المخزون" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "عنصر المخزون حالة رمز" diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index 987b2eb3ee..de4774c1fc 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Преобразуването на {original} в {unit} не беше успешно" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Въведена е недопустима стойност" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Подробности за грешката могат да се намерят в администраторския панел" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Значението '{name}' не отговаря на шаблона" msgid "Provided value does not match required pattern: " msgstr "Въведеното значение не отговаря на задължителния шаблон: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Липсва сериен номер" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Повтарящ се сериен номер" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Не са открити серийни номера" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Премахнете HTML маркерите от тази стойност" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Грешка при съединението" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Сървърът отговари с невалиден статусен код" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Възникна изключение" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Сървърът отговори с невалидна стойност за дължината на съдържанието (Content-Length)" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Размерът на изображението е твърде голям" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Сваляното на изображение превиши максималния размер" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Отдалеченият сървър върна празен отговор" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "" @@ -280,7 +284,7 @@ msgstr "" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "" @@ -288,7 +292,7 @@ msgstr "" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "Част" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "" @@ -725,7 +729,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -965,7 +969,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2308,7 +2317,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "" @@ -3017,7 +3026,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index cc55922d3f..ce25aada80 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Nelze převést {original} na {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Neplaté desetinné číslo" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Hodnota '{name}' neodpovídá formátu vzoru" msgid "Provided value does not match required pattern: " msgstr "Poskytnutá hodnota neodpovídá požadovanému vzoru: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Nelze serializovat více než 1000 položek najednou" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Nevyplněné výrobní číslo" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Duplicitní výrobní číslo" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Neplatná skupina: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Nenalezena žádná výrobní čísla" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "Počet jedinečných sériových čísel ({n}) musí odpovídat množství ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Odstranit HTML tagy z této hodnoty" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Data obsahují zakázaný markdown obsah" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "Neplatná URH: žádný název hostitele" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "Neplatná URL: nelze zjistit název hostitele" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "URL směřuje na soukromou nebo rezervovanou IP adresu" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "Příliš mnoho přesměrování" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Chyba spojení" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Server odpověděl s neplatným stavovým kódem" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Došlo k výjimce" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Server odpověděl s neplatnou hodnotou Content-Length" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Velikost obrázku je příliš velká" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Stahování obrázku překročilo maximální velikost" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Vzdálený server vrátil prázdnou odpověď" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Zadaná URL adresa není platný soubor obrázku" @@ -280,7 +284,7 @@ msgstr "Neplatný výběr" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Název" @@ -288,7 +292,7 @@ msgstr "Název" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Server zaznamenal chybu." msgid "Image" msgstr "Obrazek" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Měna" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Vyberte měnu z dostupných možností" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "Toto pole nesmí být nulové." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "Neplatný formát typu obsahu" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "Typ obsahu nenalezen" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "Typ obsahu neodpovídá požadované třídě mixinu" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Kopírovat parametry" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "Kopírovat parametry z původní položky" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Kopírovat řádky" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Kopírovat řádkové položky z původní objednávky" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Kopírovat extra řádky" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Kopírovat extra řádkové položky z původní objednávky" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "Možnosti duplikace" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "Specifikujte možnosti pro duplikování této položky" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "Původní" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "Vyberte instanci pro duplikaci" @@ -597,20 +601,20 @@ msgstr "Nadřazená sestava" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Zahrnout varianty" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Zahrnout varianty" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Zahrnout varianty" msgid "Part" msgstr "Díl" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Kategorie" @@ -650,11 +654,11 @@ msgstr "Přiřazeno mě" msgid "Assigned To" msgstr "Přiřazeno" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Vytvořeno před" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Vytvořeno po" @@ -706,18 +710,18 @@ msgstr "Vyloučit strom" 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:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Volitelné" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Sestava" @@ -725,7 +729,7 @@ msgstr "Sestava" msgid "Tracked" msgstr "Sledováno" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Testovatelné" @@ -733,12 +737,12 @@ msgstr "Testovatelné" msgid "Order Outstanding" msgstr "Objednávka nevyřízená" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Přiděleno" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Spotřebováno" @@ -749,7 +753,7 @@ msgstr "Spotřebováno" msgid "Available" msgstr "Dostupné" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Výrobní příkaz" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "Cílové datum musí být po datu zahájení" msgid "Build Order Reference" msgstr "Referenční číslo výrobního příkazu" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Referenční číslo prodejní objednávky" msgid "Sales Order to which this build is allocated" msgstr "Prodejní objednávka, které je tato stavba přiřazena" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Zdrojové umístění" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Dávkový kód pro tento výstup sestavení" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Datum vytvoření" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Uživatel, který vystavil tento výrobní příkaz" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Odpovědný" @@ -965,7 +969,7 @@ msgstr "Uživatel nebo skupina odpovědná za tento výrobní příkaz" msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "Výstup sestavení již byl dokončel" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "Nelze částečně dokončit výrobní příkaz s přiřazenými položk #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "Zásoby již neexistují" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Vytvořit objekt" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "Množství spotřebovaných zásob" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "Vybraná skladová položka neodpovídá řádku kusovníku" @@ -1118,11 +1122,11 @@ msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množst msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Skladové položky" @@ -1151,7 +1155,7 @@ msgstr "Úroveň sestavení" msgid "Part Name" msgstr "Název dílu" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Vytvořit výstup" @@ -1204,12 +1208,12 @@ msgstr "Automaticky zvolit sériová čísla" 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:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 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:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Musí být uveden seznam výstupů sestavy" @@ -1233,304 +1237,309 @@ msgstr "Důvod vyřazení výstupu(ů) sestavy" msgid "Location for completed build outputs" msgstr "Umístění dokončených výstupů sestavy" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "Ke strukturální lokaci nelze přiřadit zásoby" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Přijmout neúplné přidělení" -#: build/serializers.py:579 +#: build/serializers.py:588 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:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Spotřebovat přidělené zásoby" -#: build/serializers.py:645 +#: build/serializers.py:654 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:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Odstranit neúplné výstupy" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "Odstranit všechny výstupy sestavy, které nebyly dokončeny" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Není povoleno" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Přijmout jako spotřebované tímto výrobním příkazem" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Uvolnit před dokončením tohoto výrobního příkazu" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Nadměrně přidělené zásoby" -#: build/serializers.py:711 +#: build/serializers.py:720 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 tomuto výrobnímu příkazu" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Některé skladové položky byly nadměrně přiděleny" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Přijmout nepřidělené" -#: build/serializers.py:729 +#: build/serializers.py:738 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 tomuto výrobnímu příkazu" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Požadované zásoby nebyly plně přiděleny" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Přijmout neúplné" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Požadované množství sestavy nebylo dokončeno" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "Výrobní příkaz má otevřené podpříkazy" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "Výrobní příkaz musí být ve stavu produkce" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Výrobní příkaz má neúplné výstupy" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Linka sestavy" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Výstup sestavy" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "Výstup sestavy musí odkazovat na stejnou sestavu" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Řádková položka sestavy" -#: build/serializers.py:881 +#: build/serializers.py:890 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 výrobní příkaz" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Položka musí být skladem" -#: build/serializers.py:963 +#: build/serializers.py:972 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:971 +#: build/serializers.py:980 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:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Položky přidělení musí být poskytnuty" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Vynechat lokace" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Vyloučit skladové položky z tohoto vybraného umístění" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Zaměnitelné zásoby" -#: build/serializers.py:1070 +#: build/serializers.py:1079 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:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Náhradní zásoby" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Povolit přidělování náhradních dílů" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Volitelné položky" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Přiřazení volitelných položek kusovníku k objednávce sestavy" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "Všechny položky" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "Nesledované položky" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "Sledované položky" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "Typ položky" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "Vyberte typ položky pro automatické přiřazení" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "Priorita zásob" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "Upřednostňované pořadí ve kterém jsou spotřebovávány odpovídající zásoby" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "Linky sestavy" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "Omezit přiřazení na tyto sestavné linky (nechte prázdné pro přidělení všech linek)" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Reference v kusovníku" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "ID dílu kusovníku" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Název dílu kusovníku" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "Informace instalace" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Sestavení" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Díl dodavatele" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Přidělené množství" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Reference sestavení" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Název kategorie dílů" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Sledovatelné" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Zděděno" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Povolit varianty" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Položka kusovníku" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "Ve výrobě" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "Naplánováno na sestavení" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Externí zásoby" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Dostupné zásoby" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Dostupné náhradní zásoby" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Dostupná varianta skladu" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "Spotřebované množství přesahuje přidělené množství" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "Nepovinné poznámky ke spotřebě zásob" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "Sestavení položky musí odkazovat na správný výrobní příkaz" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "Duplikovat přidělení položky sestavení" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "Výrobní linka musí odkazovat na správný výrobní příkaz" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "Duplikovat přiřazení výrobní linky" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "Musí být poskytnuta alespoň jedna linka nebo předmět" @@ -1555,7 +1564,7 @@ msgstr "Pozastaveno" msgid "Cancelled" msgstr "Zrušeno" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Nejsou uvedeny žádné platné kódy měn" msgid "No plugin" msgstr "Žádný plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "Tagy" @@ -1667,8 +1676,8 @@ msgstr "Popis projektu" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktivní" @@ -1716,7 +1725,7 @@ msgstr "Klíčový text musí být jedinečný" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Název" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Odkaz" @@ -1896,7 +1905,7 @@ msgstr "Definice" msgid "Unit definition" msgstr "Definice jednotky" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Příloha" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "Logický klíč statusu, který je rovný tomuto vlastnímu statusu v podnikové logice" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Hodnota" @@ -2098,7 +2107,7 @@ msgstr "Název výběrového pole" msgid "Description of the selection list" msgstr "Popis výběrového pole" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Uzamčeno" @@ -2206,7 +2215,7 @@ msgstr "Parametry zaškrtávacího pole nemohou mít jednotky" msgid "Checkbox parameters cannot have choices" msgstr "Parametry zaškrtávacího pole nemohou mít výběr" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Volby musí být jedinečné" @@ -2222,7 +2231,7 @@ msgstr "Cílový typ modelu pro šablonu tohoto parametru" msgid "Parameter Name" msgstr "Název parametru" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Jednotky" @@ -2242,7 +2251,7 @@ msgstr "Zaškrtávací políčko" msgid "Is this parameter a checkbox?" msgstr "Je tento parametr zaškrtávací políčko?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Volby" @@ -2254,7 +2263,7 @@ msgstr "Platné volby pro tento parametr (oddělené čárkami)" msgid "Selection list for this parameter" msgstr "Seznam výběru pro tento parametr" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Povoleno" @@ -2308,7 +2317,7 @@ msgstr "Šablona" msgid "Parameter template" msgstr "Šablona parametru" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Data" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Hodnota parametru" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Data čárového kódu" msgid "User who scanned the barcode" msgstr "Uživatel, který naskenoval čárový kód" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Časová značka" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "Data z odezvy z čárového kódu" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Výsledek" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Název souboru" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Typ modelu" @@ -3008,7 +3017,7 @@ msgstr "Díly jsou ve výchozím nastavení šablony" 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/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Komponent" @@ -3017,7 +3026,7 @@ msgstr "Komponent" 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/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Možné zakoupit" @@ -3025,7 +3034,7 @@ msgstr "Možné zakoupit" msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Prodejné" @@ -3037,7 +3046,7 @@ msgstr "Díly jsou prodejné ve výchozím nastavení" msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Nehmotné (virtuální)" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Výrobce" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Společnost" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Odkaz na informace o adrese (externí)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Výrobce dílu" @@ -4574,7 +4583,7 @@ msgstr "Odkazovaný díl výrobce musí odkazovat na stejný základní díl" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Dodavatel" @@ -4610,11 +4619,11 @@ msgstr "Adresa URL pro odkaz na externí díl dodavatele" msgid "Supplier part description" msgstr "Popis dílu dodavatele" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "základní cena" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimální poplatek (např. poplatek za skladování)" @@ -4635,7 +4644,7 @@ msgstr "Počet kusů v balení" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Celkové množství dodávané v jednom balení. Pro jednotlivé položky ponechte prázdné." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "více" @@ -4731,152 +4740,152 @@ msgstr "Umístěno" msgid "Invalid status code" msgstr "Neplatný kód statusu" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Datový soubor" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "Datový soubor k importu" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Sloupce" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "Cílový typ modelu pro tuto relaci importu" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "Stav importu" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Výchozí Hodnoty" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "Přepsání Pole" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Filtry pole" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "Aktualizovat existující záznamy" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "Pokud je povoleno, existující záznamy budou aktualizovány s novými daty" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Některá povinná pole nebyla namapována" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "Dokončená historie počtu řádků" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "Historie počtu řádků" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "Existující databázový identifikátor pro tento záznam" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "Sloupec je již napamován k poli databáze" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "Pole je již namapováno do datového sloupce" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "Mapování sloupců musí být připojeno k platné relaci importu" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "Sloupec neexistuje v datovém souboru" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "Pole neexistuje v cílovém modelu" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "Vybrané pole je pouze pro čtení" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "Vyhledávání může být nastaveno pouze pro související (cizí klíč) pole" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "Neplatné pole vyhledávání. Platné možnosti jsou: {options}" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Importovací relace" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Pole" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Sloupec" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "Vyhledávací pole" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "Pole databáze pro vyhledávání cizích klíčů. Ponechte prázdné pro automatické vyhledávání." -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Index řádku" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Původní data řádku" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Chyby" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Platné" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "Bylo nalezeno více výsledků - ujistěte se, že hodnota je jedinečná, nebo vyberte konkrétní vyhledávací pole" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "Žádný záznam nalezen pro zadané ID" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "Poskytnut neplatný formát ID" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "ID je vyžadováno pro aktualizaci existujících záznamů." -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Nepodporovaný formát souboru" @@ -4884,7 +4893,11 @@ msgstr "Nepodporovaný formát souboru" msgid "Failed to open data file" msgstr "Nepodařilo se otevřít datový soubor" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Neplatné rozměry datového souboru" @@ -5692,7 +5705,7 @@ msgstr "Množství musí být 1 pro serializovanou skladovou položku" msgid "Sales order does not match shipment" msgstr "Prodejní objednávka neodpovídá zásilce" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "Zásilka neodpovídá prodejní objednávce" @@ -5908,7 +5921,7 @@ msgstr "Sloučit položky se stejným dílem, místem určení a cílovým datem msgid "SKU" msgstr "Číslo zboží (SKU)" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Interní číslo dílu" @@ -6176,7 +6189,7 @@ msgstr "Označené" msgid "Filter by starred categories" msgstr "Filtrovat podle kategorií s hvězdičkou" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Hloubka" @@ -6184,7 +6197,7 @@ msgstr "Hloubka" msgid "Filter by category depth" msgstr "Filtrovat podle hloubky kategorie" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Nejvyšší úroveň" @@ -6192,7 +6205,7 @@ msgstr "Nejvyšší úroveň" msgid "Filter by top-level categories" msgstr "Filtrovat podle nejvyšších kategorií" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "Kaskáda" @@ -6212,11 +6225,11 @@ msgstr "Filtrovat podle nadřazené kategorie" msgid "Exclude sub-categories under the specified category" msgstr "Vyloučit podkategorie v zadané kategorii" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "Maximální úroveň" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "Omezení hloubky stromu kategorie" @@ -6296,722 +6309,722 @@ msgstr "Má dostupné zásoby" msgid "Uses" msgstr "Využití" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Kategorie dílu" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Kategorie dílů" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Výchozí umístění" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Výchozí umístění dílů v této kategorii" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Strukturální" -#: part/models.py:120 +#: part/models.py:121 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 strukturální kategorie, ale mohou být zařazeny do jejích podkategorií." -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Výchozí klíčová slova" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Výchozí klíčová slova pro díly v této kategorii" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Ikona" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Ikona (volitelná)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Nemůžete tuto kategorii označit jako strukturální, protože má již přiřazené díly!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "Šablona parametru kategorie dílu" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Výchozí hodnota" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Výchozí hodnota parametru" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Díly" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "Nelze odstranit parametry zamčeného dílu" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "Nelze upravit parametry zamčeného dílu" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "Tento díl nelze smazat, protože je uzamčen" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "Tento díl nelze odstanit, protože je stále aktivní" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "Tento díl nelze odstranit, protože je použit v sestavě" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Díl '{self}' nelze použít v kusovníku '{parent}' (rekurzivní)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Díl '{parent}' je využit v kusovníku '{self}' (rekurzivní)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN musí odpovídat regex vzoru {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "Díl nemůže být revize same sebe" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "Kód revize musí být specifikován pro díl označený jako revize" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "Revize jsou povoleny pouze pro sestavy" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "Nelze provést revizi šablony" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "Nadřazený díl musí odkazovat na stejnou šablonu" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "Skladová položka s tímto sériovým číslem již existuje" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplicitní IPN není povoleno v nastavení dílu" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "Duplicitní díl revize již existuje." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Díl s tímto názvem, IPN a revizí již existuje." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Díly nemohou být přiřazeny do strukturálních kategorií!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Název dílu" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Je šablonou" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Je tento díl šablona?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Je tento díl varianta jiného dílu?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Varianta" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Popis dílu (nepovinné)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Klíčová slova" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Klíčová slova dílu pro zlepšení vyhledávání" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Kategorie dílu" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Interní číslo dílu (IPN)" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Číslo revize nebo verze dílu" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Revize" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "Je tento díl revizí jiného dílu?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Revize" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Kde je tato položka obvykle skladněna?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Výchozí expirace" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "Expirační čas (ve dnech) pro zásoby tohoto dílu" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Minimální zásoby na skladě" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Minimální povolená úroveň zásob" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "Maximální zásoby" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "Maximální povolená úroveň zásob" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Měrné jednotky pro tento díl" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Lze tento díl sestavit z jiných dílů?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "Lze tento díl použít k sestavení jiných dílů?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Lze u tohoto dílu sledovat jednotlivé položky?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "Může mít tento díl zaznamenány výsledky testu?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Může být tento díl zakoupen od externích dodavatelů?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Lze tento díl prodávat zákazníkům?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Je tento díl aktivní?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Uzamčené díly nelze upravit" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "Je to virtuální díl, například softwarový produkt nebo licence?" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "Je tento díl spotřební, jako lepidlo, nebo šroub?" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "Kusovník ověřen" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "Je kusovník pro tuto část platný?" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Kontrolní součet kusovníku" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Uložený kontrolní součet kusovníku" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "Kusovník zkontroloval" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Datum kontroly kusovníku" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Vytváření uživatele" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Vlastník odpovědný za tento díl" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Prodat více" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Měna použitá pro výpočet cen v mezipaměti" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Minimální cena kusovníku" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Minimální cena komponent dílu" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Maximální cena kusovníku" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Maximální cena komponent dílu" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Minimální nákupní cena" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Minimální historická nákupní cena" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Maximální nákupní cena" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Maximální historická nákupní cena" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Minimální interní cena" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Minimální cena závislá na množstevní slevě" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Maximální interní cena" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Maximální cena závislá na množstevní slevě" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Minimální cena dodavatele" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Minimální cena dílu od externích dodavatelů" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Maximální cena dodavatele" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Maximální cena dílu od externích dodavatelů" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Minimální cena variant" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Vypočítané minimální náklady na varianty dílů" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Maximální cena variant" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Vypočítané maximální náklady na varianty dílů" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Minimální cena" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Přepsat minimální náklady" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Maximální cena" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Přepsat maximální náklady" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Vypočítané minimální celkové náklady" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Vypočítané maximální celkové náklady" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Minimální prodejní cena" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Minimální prodejní cena na základě cenových zvýhodnění" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Maximální prodejní cena" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Maximální prodejní cena na základě cenových zvýhodnění" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Minimální prodejní cena" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Minimální historická prodejní cena" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Maximální prodejní cena" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Maximální historická prodejní cena" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Díl na inventuru" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Počet položek" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Počet jednotlivých položek zásob v době inventury" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Celkové dostupné zásoby v době inventury" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Datum" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Datum provedení inventury" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Minimální cena zásob" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Odhadovaná minimální cena zásob k dispozici" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Maximální cena zásob" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Odhadovaná maximální cena zásob k dispozici" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "Částeční sleva v ceně" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "Interní cenové slevy dílů" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "Šablona testu položky" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Neplatný název šablony - musí obsahovat alespoň jeden alfanumerický znak" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Zkušební šablony lze vytvořit pouze pro testovatelné části" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "Testovací šablona se stejným klíčem již existuje pro díl" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Název testu" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Zadejte název testu" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "Testovací klíč" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Zjednodušený klíč pro testování" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Popis testu" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Zadejte popis pro tento test" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "Je tento test povolen?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Požadováno" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Je tato zkouška vyžadována k projití?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Požadovaná hodnota" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "Vyžaduje tato zkouška hodnotu při výpočtu výsledku zkoušky?" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Vyžaduje přílohu" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "Vyžaduje tato zkouška soubor při přidání výsledku testu?" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "Platné volby pro tento test (oddělené čárkami)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "Neplatné množství - nebyly zadány žádné jedotky pro tento díl" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "Množství musí být větší nebo rovno nule" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "Položku kusovníku nelze změnit - sestava je uzamčena" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Položku kusovníku nelze změnit - varianta montáže je uzamčena" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Vyberte nadřazený díl" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Poddílec" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Vyberte díl které bude použit v kusovníku" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "Množství" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "Množství pod-dílů spotřebované při výrobě jednoho dílu" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Kusovníkové množství pro tuto kusovníkovou položku" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Tato položka kusovníku je nepovinná" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Tento předmět kusovníku je spotřebovatelný (není sledován v objednávkách stavby)" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "Nastavit množství" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Dodatečné množství potřebné pro sestavení k vyúčtování ztráty nastavení" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "Přirozené ztráty" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Odhadované přirozené ztráty pro stavbu, vyjádřeno v procentech (0-100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "Zaokrouhlení více" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Zaokrouhlit požadované množství produkce na nejbližší násobek této hodnoty" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Reference položky kusovníku" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Poznámky k položce kusovníku" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Kontrolní součet" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Kontrolní součet řádku kusovníku" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Schváleno" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Tato položka kusovníku ještě nebyla schválena" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Se zdědí" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Tento kusovník se zdědí kusovníky pro varianty dílů" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Skladové položky pro varianty dílu lze použít pro tuto položku kusovníku" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "Množství musí být celé číslo pro sledovatelné díly" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Poddíl musí být specifikován" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Náhradní položka kusovníku" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "Náhradní díl nemůže být stejný jako hlavní díl" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Nadřazená položka kusovníku" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Náhradní díl" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Díl 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Díl 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Vyberte související díl" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Poznámka pro tento vztah" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "Část vztahu nemůže být vytvořena mezi dílem samotným" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Duplicitní vztah již existuje" @@ -7375,41 +7388,41 @@ msgstr "Kopírovat náhradní díly" msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopírovat náhradní díly při duplikaci položek kusovníku" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Oznámení o nízkých zásobách" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Dostupné zásoby pro {part.name} klesly pod nastavenou minimální úroveň" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "Oznámení o zastaralých zásobách" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "Máte 1 skladovou položku blížící se k datu expirace" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "Máte skladem {item_count} položek, jejichž data expirace se blíží" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "Bez data expirace" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "Expirovalo před {abs(days_diff)} dny" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "Expiruje dnes" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry} dní" @@ -7462,71 +7475,79 @@ msgstr "Instance modelu nebyla nalezena" msgid "Barcode matches existing item" msgstr "Čárový kód odpovídá existující položce" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Žádné odpovídající data nebyla nalezena" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Žádné odpovídající díly dodavatelů nebyly nalezeny" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Vícero odpovídajících dílů dodavatelů bylo nalezeno" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "Žádný odpovídající plugin pro čárové kódy nebyl nalezen" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Odpovídající díl dodavatele" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "Položka již byla obdržena" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "Objednávka nenašela\\rŽádnou shodu dílu dodavatele" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "Díl dodavatele nenašel\\rŽádnou shodu objednávky" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "Žádný plugin neodpovídá čárový kód dodavatele" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Vícero odpovídajících řádkových položek bylo nalezeno" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Žádná odpovídající řádková položka nebyla nalezena" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Žádná prodejní objednávka nebyla poskytnuta" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "Čárový kód neodpovídá žádné existující skladové položce" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "Skladová položka se neshoduje s řádkovou položkou" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Nedostatečný počet zásob" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Skladová položka byla přidělena prodejní objednávce" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Nedostatek informací" @@ -8589,19 +8610,19 @@ msgstr "Neplatné rozměry štítku" msgid "No valid items provided to template" msgstr "Žádné platné položky nebyly k šabloně poskytnuté" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Legal" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Letter" @@ -8890,196 +8911,196 @@ msgstr "Žádný výsledek" msgid "Transferred" msgstr "Převedeno" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "Neplatná cesta k media souboru" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "Neplatná cesta ke statickému souboru" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "Soubor aktiva nebyl nalezen" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Soubor obrázku nebyl nalezen" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "Nebyl zadán žádný obrázek" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "part_image tag vyžaduje instanci dílu" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "company_image tag vyžaduje intanci společnosti" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "Filtrovat dle hloubky lokace" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "Filtrovat dle nejvyšší lokace" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "Zahrnout pod-lokace ve filtrovaných výsledcích" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Nadřazená místo" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Filtrovat podle nadřazené lokace" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Název dílu (citlivost písmen na malá a velká písmena)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "Název dílu obsahuje (citlivost písmen na malá a velká písmena)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Název dílu (regex)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "IPN dílu (citlivost písmen na malá a velká písmena)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "IPN dílu obsahuje (citlivost písmen na malá a velká písmena)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "IPN dílu (regex)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Minimální zásoby" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Maximální zásoby" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Kód stavu" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Externí umístění" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "Spotřebováno výrobním příkazem" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "Nainstalováno v jiné skladové položce" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Strom dílů" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "Aktualizováno před" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Aktualizováno po" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "Inventura před" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "Inventura po" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "Má datum inventury" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Datum expirace ped" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Datum expirace po" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Zastaralé" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "Umístění kaskády" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "Pokud je pravda, uveďte předměty v podružených místech dané lokace" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Filtrovat podle numberické ID lokace nebo doslovného 'null'" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Množství je povinné" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Platný díl musí být dodán" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "Daný dodavatelský díl neexistuje" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Dodavatelský díl na nastavenou velikost balení, ale znak use_pack_size není nastaven" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sériové čísla nemohou být zadána pro díl bez sledovanosti" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "Zahrnout nainstalované" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Pokud je pravda, zahrne výslekdy testů pro předměty nainstalované pod danou skladovou položku" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "Filtrovat podle číselného ID položky skladu" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "Skladová položka s ID {id} neexistuje" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "Zahrnout varianty" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "Datum po" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "Datum před" @@ -9346,115 +9367,115 @@ msgstr "Sériové čísla musí být poskytnuta jako seznam" msgid "Quantity does not match serial numbers" msgstr "Množství neodpovídá sériovým číslům" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "Testovací šablona neexistuje" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "Skladová položka byla přidělena prodejní objednávce" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Skladová položka je nainstalována v jiné položce" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "Skladová položka obsahuje jiné položky" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Skladová položka byla přidělena zákazníkovi" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "Skladová položka je ve výrobě" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Serializované zásoby nelze sloučit" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Duplicitní skladové položky" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Skladové položky musí odkazovat na stejný díl" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "Skladové položky musí odkazovat na stejný díl dodavatele" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Kódy stavu zásob se musí shodovat" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "Zásobová položka nemůže být přesunuta, protože není skladem" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "Sledování skladových položek" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Poznámky k záznamu" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "Výsledek testu skladové položky" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Pro tuto zkoušku musí být uvedena hodnota" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "Pro tento test musí být nahrána příloha" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "Neplatná hodnota pro tento test" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Výsledek testu" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Výstupní hodnota testu" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Příloha výsledků testu" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Poznámky testu" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "Testovací stanice" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "Identifikátor testovací stanice kde byl test proveden" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "Začátek" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "Čas začátku testu" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Ukončeno" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "Čas dokončení testu" @@ -9617,11 +9638,6 @@ msgstr "Množství k instalaci nesmí překročit dostupné množství" msgid "Destination location for uninstalled item" msgstr "Cílové umístění pro odinstalovanou položku" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "Ke strukturální lokaci nelze přiřadit zásoby" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Stavový kód skladové položky" diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index d02fefe59b..da11161439 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Kunne ikke konvertere {original} til {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Fejloplysninger kan findes i admin panelet" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Ugyldig decimalværdi" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Værdi '{name}' vises ikke i mønsterformat" msgid "Provided value does not match required pattern: " msgstr "Den angivne værdi matcher ikke det påkrævede mønster: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Kan ikke serialisere mere end 1000 elementer på én gang" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Serienummer streng er tom" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Duplikeret serienummer" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Ugyldig gruppe: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Ingen serienumre fundet" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "Antal unikke serienumre ({n}) skal matche antal ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Fjern HTML-tags fra denne værdi" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Data indeholder forbudt markdown indhold" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Forbindelsesfejl" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Serveren svarede med ugyldig statuskode" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Der opstod en fejl" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Serveren svarede med ugyldig Content-Length værdi" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Billedstørrelsen er for stor" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Billeddownload overskred maksimumstørrelsen" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Fjernserver returnerede tomt svar" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Angivet URL er ikke en gyldig billedfil" @@ -280,7 +284,7 @@ msgstr "Ugyldigt valg" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Navn" @@ -288,7 +292,7 @@ msgstr "Navn" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "En fejl blev logget af serveren." msgid "Image" msgstr "Billede" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Vælg valuta fra tilgængelige muligheder" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "Dette felt kan ikke være tomt." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Ugyldig værdi" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Overordnet produktion" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Kategori" @@ -650,11 +654,11 @@ msgstr "Tildelt til Mig" msgid "Assigned To" msgstr "Tildelt Til" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Oprettet før" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Oprettet efter" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Valgfri" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "" @@ -725,7 +729,7 @@ msgstr "" msgid "Tracked" msgstr "Sporet" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "Ordre Udestående" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Allokeret" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "Tilgængelig" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Produktionsordre" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Salgsordrereference" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Kilde Lokation" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Oprettelsesdato" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Ansvarlig" @@ -965,7 +969,7 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" msgid "External Link" msgstr "Ekstern link" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Link til ekstern URL" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Lagervarer" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "Del Navn" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1204,12 +1208,12 @@ msgstr "Automatisk alloker serienumre" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienumre findes allerede eller er ugyldige" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Ikke tilladt" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Accepter som forbrugt af denne byggeordre" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Accepter Ikke tildelt" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Accepter ufuldført" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Bygge linje" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Varen skal være på lager" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Stykliste Reference" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "Stykliste del ID" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Stykliste Del Navn" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Byg" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Leverandør Del" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Tildelt Antal" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Stykliste Del" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "I Produktion" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Ekstern Lager" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Tilgængelig Lager" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "På Hold" msgid "Cancelled" msgstr "Annulleret" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "Ingen plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Projektbeskrivelse" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktiv" @@ -1716,7 +1725,7 @@ msgstr "Nøglestrengen skal være unik" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Titel" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Tilknytning" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Vedhæftning" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Værdi" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Låst" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2308,7 +2317,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Stregkode data" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Filnavn" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "" @@ -3017,7 +3026,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "Placeret" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Datafil" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index 64cf4eb9a9..ff8c634e25 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Konnte {original} nicht in {unit} umwandeln" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Fehlerdetails finden Sie im Admin-Panel" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Ungültiger Dezimalwert" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Wert '{name}' hält das Musterformat nicht ein" msgid "Provided value does not match required pattern: " msgstr "Angegebener Wert entspricht nicht dem benötigten Muster: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Kann nicht mehr als 1000 Elemente auf einmal serialisieren" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Keine Seriennummer angegeben" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Duplizierter Seriennummer" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Ungültige Gruppe: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Keine Seriennummern gefunden" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "Anzahl der eindeutigen Seriennummern ({n}) muss mit der Anzahl ({q}) übereinstimmen" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Entferne HTML-Tags von diesem Wert" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Daten enthalten verbotene Markdown-Inhalte" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Verbindungsfehler" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Server antwortete mit ungültigem Statuscode" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Ausnahme aufgetreten" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Server antwortete mit ungültigem Wert für die Inhaltslänge" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Bild ist zu groß" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Bilddownload überschreitet maximale Größe" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Remote-Server gab leere Antwort zurück" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" @@ -280,7 +284,7 @@ msgstr "Ungültige Auswahl" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Name" @@ -288,7 +292,7 @@ msgstr "Name" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Ein Fehler wurde vom Server protokolliert." msgid "Image" msgstr "Bild" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Währung" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Währung aus verfügbaren Optionen auswählen" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "Dieses Feld darf nicht leer sein." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "Content type stimmt nicht mit der benötigten Mixin-Klasse überein" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Eltern-Bauauftrag" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Varianten einschließen" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Varianten einschließen" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Varianten einschließen" msgid "Part" msgstr "Teil" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Kategorie" @@ -650,11 +654,11 @@ msgstr "Mir zugewiesen" msgid "Assigned To" msgstr "Zugewiesen zu" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Erstellt vor" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Erstellt nach" @@ -706,18 +710,18 @@ msgstr "Baum ausschließen" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Optional" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Baugruppe" @@ -725,7 +729,7 @@ msgstr "Baugruppe" msgid "Tracked" msgstr "Nachverfolgt" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Prüfbar" @@ -733,12 +737,12 @@ msgstr "Prüfbar" msgid "Order Outstanding" msgstr "Offene Bestellung" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Zugeordnet" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Verbraucht" @@ -749,7 +753,7 @@ msgstr "Verbraucht" msgid "Available" msgstr "Verfügbar" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Bauauftrag" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "Zieldatum muss nach dem Startdatum liegen" msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Auftrag Referenz" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Quell-Lagerort" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Erstelldatum" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Verantwortlicher Benutzer" @@ -965,7 +969,7 @@ msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" msgid "External Link" msgstr "Externer Link" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Objekt bauen" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" @@ -1118,11 +1122,11 @@ msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Lagerartikel" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "Name des Teils" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Endprodukt" @@ -1204,12 +1208,12 @@ msgstr "Seriennummern automatisch zuweisen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" @@ -1233,304 +1237,309 @@ msgstr "Grund für das Verwerfen des Bauauftrages/der Bauaufträge" msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Zugewiesen Bestand verbrauchen" -#: build/serializers.py:645 +#: build/serializers.py:654 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:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Nicht erlaubt" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Als von diesem Bauauftrag verbraucht setzen" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Überbelegter Lagerbestand" -#: build/serializers.py:711 +#: build/serializers.py:720 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:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Der Bestand einiger Lagerartikel ist überbelegt" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Bauauftragsposition" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Bauauftragspositionsartikel" -#: build/serializers.py:881 +#: build/serializers.py:890 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:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:963 +#: build/serializers.py:972 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:971 +#: build/serializers.py:980 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:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Optionale Positionen" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "Alle Artikel" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "Unverfolgte Artikel" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "Verfolgte Artikel" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "Item-Typ" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "Elementtyp zur automatischen Zuweisung auswählen" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Stücklisten-Referenz" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "Stückliste Teil-ID" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Stückliste Teil-Name" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Zusammenbau" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Zuliefererteil" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Zugewiesene Menge" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Teilkategorienname" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Nachverfolgbar" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Vererbt" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Varianten zulassen" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Stücklisten-Position" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "Geplant zum Erstellen" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Externes Lager" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Verfügbarer Bestand" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Verfügbares Ersatzmaterial" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Verfügbarer Varianten Lagerbestand" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "Verbrauchsmenge überschreitet die zugewiesene Menge" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "Optionale Notizen für den Bestandsverbrauch" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "Dupliziere Bauauftrag Artikelzuordnung" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "Mindestens ein Element oder eine Zeile muss angegeben werden" @@ -1555,7 +1564,7 @@ msgstr "Pausiert" msgid "Cancelled" msgstr "Storniert" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "Kein Plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Projektbeschreibung" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktiv" @@ -1716,7 +1725,7 @@ msgstr "Schlüsseltext muss eindeutig sein" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Titel" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" @@ -1896,7 +1905,7 @@ msgstr "Definition" msgid "Unit definition" msgstr "Einheitsdefinition" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Anhang" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Wert" @@ -2098,7 +2107,7 @@ msgstr "Name der Auswahlliste" msgid "Description of the selection list" msgstr "Beschreibung der Auswahlliste" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Gesperrt" @@ -2206,7 +2215,7 @@ msgstr "Checkbox-Parameter können keine Einheiten haben" msgid "Checkbox parameters cannot have choices" msgstr "Checkbox-Parameter können keine Auswahl haben" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Auswahl muss einzigartig sein" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "Name des Parameters" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Einheiten" @@ -2242,7 +2251,7 @@ msgstr "Checkbox" msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Auswahlmöglichkeiten" @@ -2254,7 +2263,7 @@ msgstr "Gültige Optionen für diesen Parameter (durch Kommas getrennt)" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Aktiviert" @@ -2308,7 +2317,7 @@ msgstr "Vorlage" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Wert" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Parameter Wert" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Zeitstempel" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Ergebnis" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Dateiname" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Modelltyp" @@ -3008,7 +3017,7 @@ msgstr "Teile sind standardmäßig Vorlagen" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Komponente" @@ -3017,7 +3026,7 @@ msgstr "Komponente" msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Kaufbar" @@ -3025,7 +3034,7 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Verkäuflich" @@ -3037,7 +3046,7 @@ msgstr "Artikel sind grundsätzlich verkaufbar" msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtuell" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Hersteller" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Firma" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Link zu Adressinformationen (extern)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Herstellerteil" @@ -4574,7 +4583,7 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Zulieferer" @@ -4610,11 +4619,11 @@ msgstr "Teil-URL des Zulieferers" msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" @@ -4635,7 +4644,7 @@ msgstr "Packmenge" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Gesamtmenge, die in einer einzelnen Packung geliefert wird. Für Einzelstücke leer lassen." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "Vielfache" @@ -4731,152 +4740,152 @@ msgstr "Platziert" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Datendatei" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "Zu importierende Datei" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Spalten" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "Importstatus" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Standardwerte" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Feld" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Spalte" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Fehler" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Gültig" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Dateiformat nicht unterstützt" @@ -4884,7 +4893,11 @@ msgstr "Dateiformat nicht unterstützt" msgid "Failed to open data file" msgstr "Fehler beim Öffnen der Datei" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Ungültige Dateigröße" @@ -5692,7 +5705,7 @@ msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" @@ -5908,7 +5921,7 @@ msgstr "Zusammenführen von Elementen mit dem gleichen Teil, Ziel- und Zieldatum msgid "SKU" msgstr "Lieferanten-Teilenummer" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Interne Teilenummer" @@ -6176,7 +6189,7 @@ msgstr "Markiert" msgid "Filter by starred categories" msgstr "Nach markierten Kategorien filtern" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Ebenen" @@ -6184,7 +6197,7 @@ msgstr "Ebenen" msgid "Filter by category depth" msgstr "Filter nach Kategorietiefe" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Oberste Ebene" @@ -6192,7 +6205,7 @@ msgstr "Oberste Ebene" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "Mehrstufig" @@ -6212,11 +6225,11 @@ msgstr "Nach übergeordneter Kategorie filtern" msgid "Exclude sub-categories under the specified category" msgstr "Unterkategorien in der angegebenen Kategorie ausschließen" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "Verwendet" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Standard-Lagerort" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Strukturell" -#: part/models.py:120 +#: part/models.py:121 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:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Symbol" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Symbol (optional)" -#: part/models.py:182 +#: part/models.py:183 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:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Teile" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 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:600 +#: part/models.py:601 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:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, 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:703 +#: part/models.py:704 #, 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:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN muss mit Regex-Muster {pattern} übereinstimmen" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Variante von" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Artikelbeschreibung (optional)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Schlüsselwörter" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Version" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Revision von" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Minimaler Bestand" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 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:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Verantwortlicher Besitzer für dieses Teil" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Mindestkosten überschreiben" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Maximale Kosten" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Maximale Kosten überschreiben" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Datum" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: 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:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 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:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "Testschlüssel" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Vereinfachter Schlüssel zum Test" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "Ist dieser Test aktiviert?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Benötigt" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3619 +#: part/models.py:3650 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:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3626 +#: part/models.py:3657 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:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "Gültige Optionen für diesen Test (durch Komma getrennt)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:3951 +#: part/models.py:3982 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:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "überprüft" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:4018 +#: part/models.py:4049 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:4024 +#: part/models.py:4055 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:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 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:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" @@ -7375,41 +7388,41 @@ msgstr "Ersatzteile kopieren" msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Benachrichtigungen über geringen Bestand" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "Barcode entspricht einem bereits vorhandenen Artikel" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Keine passenden Teiledaten gefunden" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Keine passenden Zulieferteile gefunden" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Mehrere passende Zulieferteile gefunden" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Zulieferteil zugeordnet" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "Artikel wurde bereits erhalten" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Mehrere passende Elemente gefunden" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Kein passendes Element gefunden" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "Barcode stimmt nicht mit einem vorhandenen Lagerartikel überein" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "Lagerartikel stimmt nicht mit dem Element überein" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Lagerartikel der Bestellung zugeordnet" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Nicht genügend Informationen" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "US-Legal" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "US-Letter" @@ -8890,196 +8911,196 @@ msgstr "Kein Ergebnis" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Bilddatei nicht gefunden" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "part_image tag benötigt eine Bauteilinstanz" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "company_image tag erfordert eine Firmeninstanz" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "Filtern nach Standorttiefe" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "Unterorte in gefilterte Ergebnisse einbeziehen" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Übergeordneter Ort" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Filtern nach übergeordnetem Ort" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Statuscode" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Teile-Baum" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Gültigkeitsdauer vor" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Gültigkeitsdauer nach" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "überfällig" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:1179 +#: stock/api.py:1187 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:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "Testvorlage existiert nicht" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:3080 +#: stock/models.py:3092 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:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Test Notizen" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "Teststation" -#: stock/models.py:3892 +#: stock/models.py:3915 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:3898 +#: stock/models.py:3921 msgid "Started" msgstr "Gestartet" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "Der Zeitstempel des Teststarts" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Fertiggestellt" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "Der Zeitstempel der Test-Beendigung" @@ -9617,11 +9638,6 @@ msgstr "Die zu verwendende Menge darf die verfügbare Menge nicht überschreiten msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Lagerartikel Status-Code" diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 1c69078e15..8cdaaca0d7 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Δεν ήταν δυνατή η μετατροπή από {original} σε {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλματος στον πίνακα διαχείρισης" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Μη έγκυρη δεκαδική τιμή" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Η τιμή '{name}' δεν εμφανίζεται σε μορφή μο msgid "Provided value does not match required pattern: " msgstr "Η παρεχόμενη τιμή δεν ταιριάζει με το απαιτούμενο απαραραίητη μοτίβο: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Δεν είναι δυνατή η σειριοποίηση περισσότερων από 1000 Προϊόντων ταυτόχρονα" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Κενό σειριακό αριθμό συμβολοσειράς" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Διπλότυπο ArialTTumblr" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Μη έγκυρη ομάδα: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Το εύρος της ομάδας {group} υπερβαίνει την επιτρεπόμενη ποσότητα ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Δεν βρέθηκαν σειριακοί αριθμοί" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "Ο αριθμός μοναδικών σειριακών αριθμών ({n}) πρέπει να αντιστοιχεί στην ποσότητα ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Αφαιρέστε τα HTML tags από την τιμή που εισάγατε" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Τα δεδομένα περιέχουν απαγορευμένο περιεχόμενο markdown" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Σφάλμα σύνδεσης" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Ο διακομιστής απάντησε με μη έγκυρο κωδικό κατάστασης" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Προέκυψε σφάλμα" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Ο διακομιστής ανταποκρίθηκε με \"Invalid Content-Length value\"" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Η εικόνα είναι πολύ μεγάλη σε μέγεθος" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Η λήψη εικόνας ξεπέρασε το μέγιστο μέγεθος" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας" @@ -280,7 +284,7 @@ msgstr "Μη έγκυρη επιλογή" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Όνομα" @@ -288,7 +292,7 @@ msgstr "Όνομα" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Ένα σφάλμα έχει καταγραφεί από το διακο msgid "Image" msgstr "Εικόνα" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Νόμισμα" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επιλογές" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Μη έγκυρη τιμή" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Αντιγραφή παραμέτρων" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Αντιγραφή γραμμών" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Αντιγραφή γραμμών από την αρχική παραγγελία" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Αντιγραφή επιπλέον γραμμών" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Αντιγραφή επιπλέον γραμμών από την αρχική παραγγελία" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Γονική Κατασκευή" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Συμπερίληψη παραλλαγών" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Συμπερίληψη παραλλαγών" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Συμπερίληψη παραλλαγών" msgid "Part" msgstr "Εξάρτημα" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Κατηγορία" @@ -650,11 +654,11 @@ msgstr "Ανατεθειμένες σε εμένα" msgid "Assigned To" msgstr "Ανατεθεί σε" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Δημιουργήθηκε πριν από" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Δημιουργήθηκε μετά από" @@ -706,18 +710,18 @@ msgstr "Εξαίρεση δέντρου" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Προαιρετικό" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Συναρμολόγηση" @@ -725,7 +729,7 @@ msgstr "Συναρμολόγηση" msgid "Tracked" msgstr "Υπό παρακολούθηση" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Υπό δοκιμή" @@ -733,12 +737,12 @@ msgstr "Υπό δοκιμή" msgid "Order Outstanding" msgstr "Εκκρεμής παραγγελία" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Κατανεμημένο" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Καταναλωμένο" @@ -749,7 +753,7 @@ msgstr "Καταναλωμένο" msgid "Available" msgstr "Διαθέσιμο" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Σειρά Κατασκευής" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "Η ημερομηνία στόχος πρέπει να είναι μετ msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Κωδικός Παραγγελίας Πωλήσεων" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Υπεύθυνος" @@ -965,7 +969,7 @@ msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την ε msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "Δεν είναι δυνατή η μερική ολοκλήρωση πρ #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Αντικείμενο κατασκευής" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "Ποσότητα καταναλωμένου αποθέματος" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν ταιριάζει με τη γραμμή ΤΥ" @@ -1118,11 +1122,11 @@ msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" @@ -1151,7 +1155,7 @@ msgstr "Επίπεδο κατασκευής" msgid "Part Name" msgstr "Όνομα Προϊόντος" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Κατασκευή Εξόδου" @@ -1204,12 +1208,12 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" msgid "Automatically allocate required items with matching serial numbers" msgstr "Αυτόματη κατανομή των απαιτούμενων στοιχείων με τους αντίστοιχους σειριακούς αριθμούς" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "Οι παρακάτω σειριακοί αριθμοί υπάρχουν ήδη ή δεν είναι έγκυροι" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Πρέπει να παρέχεται μια λίστα με τα αποτελέσματα κατασκευής" @@ -1233,304 +1237,309 @@ msgstr "Αιτία απόρριψης προϊόντων κατασκευής" msgid "Location for completed build outputs" msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κατασκευής" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Αποδοχή Ελλιπούς Δέσμευσης" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "Ολοκλήρωσε τα προϊόντα εάν το απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Κατανάλωση δεσμευμένου αποθέματος" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "Κατανάλωση οποιουδήποτε αποθέματος έχει ήδη δεσμευτεί για αυτή την κατασκευή" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Αφαίρεση Ατελείωτων Προϊόντων" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "Διαγράψτε τυχόν προϊόντα κατασκευής που δεν έχουν ολοκληρωθεί" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Δεν επιτρέπεται" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Αποδοχή ως κατανάλωση για αυτή την παραγγελία κατασκευής" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Αποδέσμευση πριν από την ολοκλήρωση αυτής της παραγγελίας κατασκευής" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Υπερ-δεσμευμένο Απόθεμα" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Πώς θέλετε να χειριστείτε το επιπλέον απόθεμα που έχει δεσμευτεί στην παραγγελία κατασκευής" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Μερικά στοιχεία αποθέματος έχουν υπερ-δεσμευτεί" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Αποδοχή Μη Δεσμευμένων" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Αποδεχτείτε ότι αντικείμενα αποθέματος δεν έχουν δεσμευτεί πλήρως σε αυτή την παραγγελία κατασκευής" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Το απαιτούμενο απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Αποδοχή Μη Ολοκληρωμένων" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "Αποδεχτείτε ότι ο απαιτούμενος αριθμός προϊόντων κατασκευής δεν έχει ολοκληρωθεί" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Ο απαιτούμενος αριθμός προϊόντων δεν έχει ολοκληρωθεί" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "Η εντολή κατασκευής έχει ανοιχτές θυγατρικές εντολές κατασκευής" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "Η εντολή κατασκευής πρέπει να βρίσκεται σε κατάσταση παραγωγής" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Η παραγγελία κατασκευής έχει ελλιπή προϊόντα" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Γραμμή Κατασκευής" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Προϊόν Κατασκευής" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "Το προϊόν κατασκευής πρέπει να δείχνει στην ίδια κατασκευή" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Αντικείμενο Γραμμής Κατασκευής" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part πρέπει να δείχνει στο ίδιο εξάρτημα με τη εντολή κατασκευής" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Το στοιχείο πρέπει να υπάρχει στο απόθεμα" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "Πρέπει να καθοριστεί έξοδος κατασκευής για την κατανομή ανιχνεύσιμων Προϊόντων" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Δεν μπορεί να καθοριστεί έξοδος κατασκευής για την κατανομή μη ανιχνεύσιμων Προϊόντων" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Πρέπει να δοθούν στοιχεία κατανομής" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Τοποθεσία αποθέματος από την οποία θα ληφθούν τα Προϊόντα (αφήστε κενό για λήψη από οποιαδήποτε τοποθεσία)" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Εξαίρεση τοποθεσίας" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Εξαιρέστε στοιχεία αποθέματος από αυτή την επιλεγμένη τοποθεσία" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Εναλλάξιμο απόθεμα" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Στοιχεία αποθέματος σε πολλές τοποθεσίες μπορούν να χρησιμοποιηθούν εναλλάξ" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Εναλλακτικό απόθεμα" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Να επιτρέπεται η κατανομή εναλλακτικών Προϊόντων" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Προαιρετικά στοιχεία" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Κατανομή προαιρετικών στοιχείων BOM στην εντολή κατασκευής" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Αναφορά BOM" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "ID Προϊόντος BOM" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Όνομα Προϊόντος BOM" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Κατασκευή" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Aντικειμένου προμηθευτή" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Δεσμευμένη ποσότητα" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Αναφορά κατασκευής" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Όνομα κατηγορίας Προϊόντος" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Ανιχνεύσιμο" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Κληρονομημένο" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Να επιτρέπονται παραλλαγές" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Στοιχείο BOM" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "Σε παραγωγή" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "Προγραμματισμένο για κατασκευή" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Εξωτερικό απόθεμα" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Διαθέσιμο απόθεμα" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Διαθέσιμο εναλλακτικό απόθεμα" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Διαθέσιμο απόθεμα παραλλαγών" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "Η καταναλωμένη ποσότητα υπερβαίνει τη δεσμευμένη ποσότητα" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "Προαιρετικές σημειώσεις για την κατανάλωση αποθέματος" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "Το στοιχείο κατασκευής πρέπει να αντιστοιχεί στη σωστή εντολή κατασκευής" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "Διπλή κατανομή στοιχείου κατασκευής" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "Η γραμμή κατασκευής πρέπει να αντιστοιχεί στη σωστή εντολή κατασκευής" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "Διπλή κατανομή γραμμής κατασκευής" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "Πρέπει να δοθεί τουλάχιστον ένα στοιχείο ή μία γραμμή" @@ -1555,7 +1564,7 @@ msgstr "Σε αναμονή" msgid "Cancelled" msgstr "Ακυρώθηκε" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Δεν δόθηκαν έγκυροι κωδικοί συναλλάγμα msgid "No plugin" msgstr "Χωρίς πρόσθετο" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Περιγραφή έργου" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Ενεργό" @@ -1716,7 +1725,7 @@ msgstr "Η συμβολοσειρά κλειδιού πρέπει να είνα #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Τίτλος" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Σύνδεσμος" @@ -1896,7 +1905,7 @@ msgstr "Ορισμός" msgid "Unit definition" msgstr "Ορισμός μονάδας" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Συνημμένο" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "Λογικό κλειδί κατάστασης που είναι ισοδύναμο με αυτή την προσαρμοσμένη κατάσταση στη λογική της εφαρμογής" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Τιμή" @@ -2098,7 +2107,7 @@ msgstr "Όνομα της λίστας επιλογών" msgid "Description of the selection list" msgstr "Περιγραφή της λίστας επιλογών" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Κλειδωμένο" @@ -2206,7 +2215,7 @@ msgstr "Οι παράμετροι τύπου checkbox δεν μπορούν να msgid "Checkbox parameters cannot have choices" msgstr "Οι παράμετροι τύπου checkbox δεν μπορούν να έχουν επιλογές" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Οι επιλογές πρέπει να είναι μοναδικές" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "Όνομα παραμέτρου" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Μονάδες" @@ -2242,7 +2251,7 @@ msgstr "Checkbox" msgid "Is this parameter a checkbox?" msgstr "Είναι αυτή η παράμετρος τύπου checkbox;" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Επιλογές" @@ -2254,7 +2263,7 @@ msgstr "Έγκυρες επιλογές για αυτή την παράμετρ msgid "Selection list for this parameter" msgstr "Λίστα επιλογών για αυτή την παράμετρο" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Ενεργό" @@ -2308,7 +2317,7 @@ msgstr "Πρότυπο" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Δεδομένα" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Τιμή παραμέτρου" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Δεδομένα barcode" msgid "User who scanned the barcode" msgstr "Χρήστης που σάρωσε το barcode" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Χρονική σήμανση" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "Δεδομένα απόκρισης από τη σάρωση barcode" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Αποτέλεσμα" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Όνομα αρχείου" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Τύπος μοντέλου" @@ -3008,7 +3017,7 @@ msgstr "Τα Προϊόντα είναι πρότυπα από προεπιλο msgid "Parts can be assembled from other components by default" msgstr "Τα Προϊόντα μπορούν να συναρμολογούνται από άλλα συστατικά από προεπιλογή" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Συστατικό" @@ -3017,7 +3026,7 @@ msgstr "Συστατικό" msgid "Parts can be used as sub-components by default" msgstr "Τα Προϊόντα μπορούν να χρησιμοποιούνται ως υποσυστατικά από προεπιλογή" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Αγοράσιμο" @@ -3025,7 +3034,7 @@ msgstr "Αγοράσιμο" msgid "Parts are purchaseable by default" msgstr "Τα Προϊόντα είναι αγοράσιμα από προεπιλογή" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Πωλήσιμο" @@ -3037,7 +3046,7 @@ msgstr "Τα Προϊόντα είναι πωλήσιμα από προεπιλ msgid "Parts are trackable by default" msgstr "Τα Προϊόντα είναι ανιχνεύσιμα από προεπιλογή" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Εικονικό" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Κατασκευαστής" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Εταιρεία" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Σύνδεσμος σε πληροφορίες διεύθυνσης (εξωτερικό)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Προϊόν κατασκευαστή" @@ -4574,7 +4583,7 @@ msgstr "Το συνδεδεμένο προϊόν κατασκευαστή πρέ #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Προμηθευτής" @@ -4610,11 +4619,11 @@ msgstr "URL εξωτερικού συνδέσμου προϊόντος προμ msgid "Supplier part description" msgstr "Περιγραφή προϊόντος προμηθευτή" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "βασικό κόστος" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Ελάχιστη χρέωση (π.χ. χρέωση αποθήκευσης)" @@ -4635,7 +4644,7 @@ msgstr "Ποσότητα ανά συσκευασία" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Συνολική ποσότητα που παρέχεται σε μία συσκευασία. Αφήστε κενό για μεμονωμένα είδη." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "πολλαπλάσιο" @@ -4731,152 +4740,152 @@ msgstr "Τοποθετήθηκε" msgid "Invalid status code" msgstr "Μη έγκυρος κωδικός κατάστασης" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Αρχείο Δεδομένων" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "Αρχείο δεδομένων για εισαγωγή" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Στήλες" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "Τύπος μοντέλου στόχου για αυτή τη συνεδρία εισαγωγής" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "Κατάσταση εισαγωγής" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Προεπιλεγμένες τιμές πεδίων" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "Υπερισχύσεις πεδίων" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Φίλτρα πεδίων" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "Ενημέρωση υπαρχόντων εγγραφών" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "Αν είναι ενεργό, οι υπάρχουσες εγγραφές θα ενημερωθούν με νέα δεδομένα" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Κάποια απαιτούμενα πεδία δεν έχουν αντιστοιχιστεί" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "Υπάρχον αναγνωριστικό βάσης δεδομένων για την εγγραφή" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "Η στήλη έχει ήδη αντιστοιχιστεί σε πεδίο της βάσης δεδομένων" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "Το πεδίο έχει ήδη αντιστοιχιστεί σε στήλη δεδομένων" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "Η αντιστοίχιση στήλης πρέπει να συνδέεται με έγκυρη συνεδρία εισαγωγής" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "Η στήλη δεν υπάρχει στο αρχείο δεδομένων" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "Το πεδίο δεν υπάρχει στο μοντέλο προορισμού" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "Το επιλεγμένο πεδίο είναι μόνο για ανάγνωση" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Συνεδρία εισαγωγής" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Πεδίο" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Στήλη" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Δείκτης γραμμής" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Αρχικά δεδομένα γραμμής" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Σφάλματα" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Έγκυρο" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "Δεν βρέθηκε εγγραφή με το παρεχόμενο ID" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "Δόθηκε μη έγκυρη μορφή ID" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "Απαιτείται ID για την ενημέρωση υπαρχόντων εγγραφών." -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Μη υποστηριζόμενη μορφή αρχείου δεδομένων" @@ -4884,7 +4893,11 @@ msgstr "Μη υποστηριζόμενη μορφή αρχείου δεδομέ msgid "Failed to open data file" msgstr "Αποτυχία ανοίγματος αρχείου δεδομένων" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Μη έγκυρες διαστάσεις αρχείου δεδομένων" @@ -5692,7 +5705,7 @@ msgstr "Η ποσότητα πρέπει να είναι 1 για σειριοπ msgid "Sales order does not match shipment" msgstr "Η εντολή πώλησης δεν αντιστοιχεί στην αποστολή" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "Η αποστολή δεν αντιστοιχεί στην εντολή πώλησης" @@ -5908,7 +5921,7 @@ msgstr "Συγχώνευση ειδών με το ίδιο προϊόν, προ msgid "SKU" msgstr "SKU" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Εσωτερικός κωδικός προϊόντος" @@ -6176,7 +6189,7 @@ msgstr "Με αστέρι" msgid "Filter by starred categories" msgstr "Φιλτράρισμα κατά κατηγορίες με αστέρι" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Βάθος" @@ -6184,7 +6197,7 @@ msgstr "Βάθος" msgid "Filter by category depth" msgstr "Φιλτράρισμα κατά βάθος κατηγορίας" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Ανώτατο επίπεδο" @@ -6192,7 +6205,7 @@ msgstr "Ανώτατο επίπεδο" msgid "Filter by top-level categories" msgstr "Φιλτράρισμα κατά κατηγορίες ανώτατου επιπέδου" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "Κατά κληρονομικότητα" @@ -6212,11 +6225,11 @@ msgstr "Φιλτράρισμα κατά γονική κατηγορία" msgid "Exclude sub-categories under the specified category" msgstr "Εξαίρεση υποκατηγοριών κάτω από την καθορισμένη κατηγορία" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "Χρήσεις" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Κατηγορία προϊόντος" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Κατηγορίες προϊόντων" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Προεπιλεγμένη τοποθεσία" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Προεπιλεγμένη τοποθεσία για προϊόντα σε αυτή την κατηγορία" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Δομική" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Τα προϊόντα δεν μπορούν να αντιστοιχιστούν απευθείας σε δομική κατηγορία, αλλά μπορούν να αντιστοιχιστούν σε θυγατρικές κατηγορίες." -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Προεπιλεγμένες λέξεις-κλειδιά" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Προεπιλεγμένες λέξεις-κλειδιά για προϊόντα σε αυτή την κατηγορία" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Εικονίδιο" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Εικονίδιο (προαιρετικό)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Δεν μπορείτε να κάνετε αυτή την κατηγορία προϊόντων δομική επειδή κάποια προϊόντα έχουν ήδη αντιστοιχιστεί σε αυτή!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "Πρότυπο παραμέτρου κατηγορίας προϊόντος" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Προεπιλεγμένη τιμή" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Προεπιλεγμένη τιμή παραμέτρου" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Προϊόντα" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "Δεν είναι δυνατή η διαγραφή αυτού του προϊόντος επειδή είναι κλειδωμένο" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "Δεν είναι δυνατή η διαγραφή αυτού του προϊόντος επειδή είναι ακόμη ενεργό" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "Δεν είναι δυνατή η διαγραφή αυτού του προϊόντος επειδή χρησιμοποιείται σε συναρμολόγηση" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Το προϊόν '{self}' δεν μπορεί να χρησιμοποιηθεί στο BOM για '{parent}' (αναδρομικά)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Το προϊόν '{parent}' χρησιμοποιείται στο BOM για '{self}' (αναδρομικά)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "Το IPN πρέπει να ταιριάζει με το πρότυπο regex {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "Το προϊόν δεν μπορεί να είναι αναθεώρηση του εαυτού του" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "Οι αναθεωρήσεις επιτρέπονται μόνο για προϊόντα συναρμολόγησης" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "Δεν μπορεί να γίνει αναθεώρηση προϊόντος προτύπου" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "Το γονικό προϊόν πρέπει να αντιστοιχεί στο ίδιο πρότυπο" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "Υπάρχει ήδη είδος αποθέματος με αυτόν τον σειριακό αριθμό" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "Δεν επιτρέπεται διπλό IPN στις ρυθμίσεις προϊόντος" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "Υπάρχει ήδη διπλή αναθεώρηση προϊόντος." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Υπάρχει ήδη προϊόν με αυτό το όνομα, IPN και αναθεώρηση." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Τα προϊόντα δεν μπορούν να αντιστοιχιστούν σε δομικές κατηγορίες προϊόντων!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Όνομα προϊόντος" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Είναι πρότυπο" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Είναι αυτό το προϊόν προϊόν προτύπου;" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Είναι αυτό το προϊόν παραλλαγή άλλου προϊόντος;" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Παραλλαγή του" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Περιγραφή προϊόντος (προαιρετικά)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Λέξεις-κλειδιά" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Λέξεις-κλειδιά προϊόντος για βελτίωση της ορατότητας στα αποτελέσματα αναζήτησης" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Κατηγορία προϊόντος" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Αριθμός αναθεώρησης ή έκδοσης προϊόντος" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Αναθεώρηση" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "Είναι αυτό το προϊόν αναθεώρηση άλλου προϊόντος;" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Αναθεώρηση του" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Πού αποθηκεύεται συνήθως αυτό το είδος;" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Προεπιλεγμένη λήξη" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "Χρόνος λήξης (σε ημέρες) για είδη αποθέματος αυτού του προϊόντος" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Ελάχιστο απόθεμα" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Ελάχιστο επιτρεπτό επίπεδο αποθέματος" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Μονάδες μέτρησης για αυτό το προϊόν" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Μπορεί αυτό το προϊόν να κατασκευαστεί από άλλα προϊόντα;" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "Μπορεί αυτό το προϊόν να χρησιμοποιηθεί για την κατασκευή άλλων προϊόντων;" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Έχει αυτό το προϊόν ιχνηλάτηση για μοναδικά είδη;" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "Μπορούν να καταχωρηθούν αποτελέσματα δοκιμών για αυτό το προϊόν;" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Μπορεί αυτό το προϊόν να αγοραστεί από εξωτερικούς προμηθευτές;" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Μπορεί αυτό το προϊόν να πωληθεί σε πελάτες;" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Είναι αυτό το προϊόν ενεργό;" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Κλειδωμένα προϊόντα δεν μπορούν να τροποποιηθούν" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "Είναι αυτό ένα εικονικό προϊόν, όπως προϊόν λογισμικού ή άδεια;" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "Το BOM έχει επικυρωθεί" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "Είναι το BOM για αυτό το προϊόν έγκυρο;" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Άθροισμα ελέγχου BOM" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Αποθηκευμένο άθροισμα ελέγχου BOM" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "Έλεγχος BOM από" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Ημερομηνία ελέγχου BOM" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Χρήστης δημιουργίας" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Ιδιοκτήτης υπεύθυνος για αυτό το προϊόν" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Πώληση πολλαπλάσιων" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Νόμισμα που χρησιμοποιείται για την προσωρινή αποθήκευση υπολογισμών τιμολόγησης" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Ελάχιστο κόστος BOM" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Ελάχιστο κόστος προϊόντων Προϊόντων" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Μέγιστο κόστος BOM" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Μέγιστο κόστος προϊόντων Προϊόντων" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Ελάχιστο κόστος αγοράς" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Ελάχιστο ιστορικό κόστος αγοράς" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Μέγιστο κόστος αγοράς" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Μέγιστο ιστορικό κόστος αγοράς" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Ελάχιστη εσωτερική τιμή" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Ελάχιστο κόστος βάσει εσωτερικών κλιμακωτών τιμών" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Μέγιστη εσωτερική τιμή" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Μέγιστο κόστος βάσει εσωτερικών κλιμακωτών τιμών" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Ελάχιστη τιμή προμηθευτή" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Ελάχιστη τιμή προϊόντος από εξωτερικούς προμηθευτές" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Μέγιστη τιμή προμηθευτή" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Μέγιστη τιμή προϊόντος από εξωτερικούς προμηθευτές" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Ελάχιστο κόστος παραλλαγής" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Υπολογισμένο ελάχιστο κόστος προϊόντων παραλλαγών" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Μέγιστο κόστος παραλλαγής" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Υπολογισμένο μέγιστο κόστος προϊόντων παραλλαγών" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Ελάχιστο κόστος" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Παράκαμψη ελάχιστου κόστους" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Μέγιστο κόστος" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Παράκαμψη μέγιστου κόστους" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Υπολογισμένο συνολικό ελάχιστο κόστος" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Υπολογισμένο συνολικό μέγιστο κόστος" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Ελάχιστη τιμή πώλησης" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Ελάχιστη τιμή πώλησης βάσει κλιμακωτών τιμών" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Μέγιστη τιμή πώλησης" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Μέγιστη τιμή πώλησης βάσει κλιμακωτών τιμών" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Ελάχιστο κόστος πώλησης" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Ελάχιστη ιστορική τιμή πώλησης" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Μέγιστο κόστος πώλησης" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Μέγιστη ιστορική τιμή πώλησης" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Προϊόν για απογραφή" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Αριθμός ειδών" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Αριθμός μεμονωμένων εγγραφών αποθέματος κατά τον χρόνο απογραφής" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Συνολικό διαθέσιμο απόθεμα κατά τον χρόνο απογραφής" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Ημερομηνία" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Ημερομηνία που πραγματοποιήθηκε η απογραφή" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Ελάχιστο κόστος αποθέματος" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Εκτιμώμενο ελάχιστο κόστος αποθέματος σε διαθεσιμότητα" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Μέγιστο κόστος αποθέματος" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Εκτιμώμενο μέγιστο κόστος αποθέματος σε διαθεσιμότητα" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "Κλιμακωτή τιμή πώλησης προϊόντος" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "Πρότυπο δοκιμής προϊόντος" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Μη έγκυρο όνομα προτύπου - πρέπει να περιλαμβάνει τουλάχιστον έναν αλφαριθμητικό χαρακτήρα" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Πρότυπα δοκιμών μπορούν να δημιουργηθούν μόνο για προϊόντα που είναι υπό δοκιμή" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "Υπάρχει ήδη πρότυπο δοκιμής με το ίδιο κλειδί για το προϊόν" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Όνομα δοκιμής" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Εισαγάγετε όνομα για τη δοκιμή" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "Κλειδί δοκιμής" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Απλοποιημένο κλειδί για τη δοκιμή" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Περιγραφή δοκιμής" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Εισαγάγετε περιγραφή για αυτή τη δοκιμή" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "Είναι αυτή η δοκιμή ενεργή;" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Απαραίτητη" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Απαιτείται η επιτυχής ολοκλήρωση αυτής της δοκιμής;" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Απαιτεί τιμή" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "Απαιτεί αυτή η δοκιμή τιμή κατά την προσθήκη αποτελέσματος δοκιμής;" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Απαιτεί συνημμένο" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "Απαιτεί αυτή η δοκιμή συνημμένο αρχείο κατά την προσθήκη αποτελέσματος δοκιμής;" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "Έγκυρες επιλογές για αυτή τη δοκιμή (διαχωρισμένες με κόμμα)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "Το στοιχείο BOM δεν μπορεί να τροποποιηθεί - η συναρμολόγηση είναι κλειδωμένη" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Το στοιχείο BOM δεν μπορεί να τροποποιηθεί - η συναρμολόγηση παραλλαγής είναι κλειδωμένη" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Επιλέξτε γονικό προϊόν" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Υποπροϊόν" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Επιλέξτε προϊόν που θα χρησιμοποιηθεί στο BOM" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Ποσότητα BOM για αυτό το στοιχείο BOM" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Αυτό το στοιχείο BOM είναι προαιρετικό" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Αυτό το στοιχείο BOM είναι αναλώσιμο (δεν παρακολουθείται στις εντολές παραγωγής)" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "Ποσότητα ρύθμισης" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Επιπλέον απαιτούμενη ποσότητα για μια παραγωγή, για να ληφθούν υπόψη οι απώλειες ρύθμισης" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "Φθορά" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Εκτιμώμενη φθορά για μια παραγωγή, εκφρασμένη ως ποσοστό (0-100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "Πολλαπλάσιο στρογγυλοποίησης" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Στρογγυλοποίηση προς τα πάνω της απαιτούμενης ποσότητας παραγωγής στο πλησιέστερο πολλαπλάσιο αυτής της τιμής" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Αναφορά στοιχείου BOM" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Σημειώσεις στοιχείου BOM" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Άθροισμα ελέγχου" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Άθροισμα ελέγχου γραμμής BOM" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Επικυρωμένο" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Αυτό το στοιχείο BOM έχει επικυρωθεί" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Κληρονομείται" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Αυτό το στοιχείο BOM κληρονομείται από τα BOM για προϊόντα παραλλαγών" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Είδη αποθέματος για προϊόντα παραλλαγών μπορούν να χρησιμοποιηθούν για αυτό το στοιχείο BOM" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "Η ποσότητα πρέπει να είναι ακέραια τιμή για προϊόντα με ιχνηλάτηση" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Πρέπει να καθοριστεί υποπροϊόν" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Εναλλακτικό στοιχείο BOM" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "Το εναλλακτικό προϊόν δεν μπορεί να είναι το ίδιο με το κύριο προϊόν" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Γονικό στοιχείο BOM" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Εναλλακτικό προϊόν" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Προϊόν 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Προϊόν 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Επιλέξτε σχετικό προϊόν" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Σημείωση για αυτή τη σχέση" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "Δεν μπορεί να δημιουργηθεί σχέση προϊόντος μεταξύ ενός προϊόντος και του εαυτού του" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Υπάρχει ήδη διπλή σχέση" @@ -7375,41 +7388,41 @@ msgstr "Αντιγραφή εναλλακτικών προϊόντων" msgid "Copy substitute parts when duplicate BOM items" msgstr "Αντιγραφή εναλλακτικών προϊόντων κατά την αντιγραφή στοιχείων BOM" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Ειδοποίηση χαμηλού αποθέματος" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Το διαθέσιμο απόθεμα για το {part.name} έχει πέσει κάτω από το καθορισμένο ελάχιστο επίπεδο" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "Ειδοποίηση παλαιού αποθέματος" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "Έχετε 1 είδος αποθέματος που πλησιάζει την ημερομηνία λήξης του" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "Έχετε {item_count} είδη αποθέματος που πλησιάζουν την ημερομηνία λήξης τους" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "Χωρίς ημερομηνία λήξης" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "Έληξε πριν από {abs(days_diff)} ημέρες" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "Λήγει σήμερα" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry} ημέρες" @@ -7462,71 +7475,79 @@ msgstr "Δεν βρέθηκε η συγκεκριμένη εγγραφή του msgid "Barcode matches existing item" msgstr "Το barcode αντιστοιχεί σε υπάρχον είδος" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Δεν βρέθηκαν αντίστοιχα δεδομένα προϊόντος" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Δεν βρέθηκαν αντίστοιχα προϊόντα προμηθευτή" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Βρέθηκαν πολλαπλά αντίστοιχα προϊόντα προμηθευτή" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "Δεν βρέθηκε αντίστοιχο πρόσθετο για τα δεδομένα barcode" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Αντίστοιχο προϊόν προμηθευτή" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "Το είδος έχει ήδη παραληφθεί" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "Δεν υπάρχει πρόσθετο που να ταιριάζει για το barcode προμηθευτή" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Βρέθηκαν πολλαπλές αντίστοιχες γραμμές" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Δεν βρέθηκε αντίστοιχη γραμμή" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Δεν δόθηκε εντολή πώλησης" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "Το barcode δεν αντιστοιχεί σε υπάρχον είδος αποθέματος" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "Το είδος αποθέματος δεν ταιριάζει με τη γραμμή" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Μη επαρκές διαθέσιμο απόθεμα" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Το είδος αποθέματος δεσμεύτηκε στην εντολή πώλησης" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Μη επαρκείς πληροφορίες" @@ -8589,19 +8610,19 @@ msgstr "Μη έγκυρες διαστάσεις ετικέτας" msgid "No valid items provided to template" msgstr "Δεν δόθηκαν έγκυρα είδη στο πρότυπο" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Legal" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Letter" @@ -8890,196 +8911,196 @@ msgstr "Χωρίς αποτέλεσμα" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Το αρχείο εικόνας δεν βρέθηκε" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "Το tag part_image απαιτεί μία παρουσία Aντικειμένου" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "Το tag company_image απαιτεί ένα Aντικειμένου Company" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "Φιλτράρισμα ανά βάθος τοποθεσίας" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "Φιλτράρισμα κατά τοποθεσίες ανώτατου επιπέδου" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "Συμπερίληψη υποτοποθεσιών στα φιλτραρισμένα αποτελέσματα" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Γονική τοποθεσία" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Φιλτράρισμα βάσει γονικής τοποθεσίας" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Όνομα προϊόντος (χωρίς διάκριση πεζών/κεφαλαίων)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "Το όνομα προϊόντος περιέχει (χωρίς διάκριση πεζών/κεφαλαίων)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Όνομα προϊόντος (regex)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "IPN προϊόντος (χωρίς διάκριση πεζών/κεφαλαίων)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "Το IPN προϊόντος περιέχει (χωρίς διάκριση πεζών/κεφαλαίων)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "IPN προϊόντος (regex)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Ελάχιστο απόθεμα" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Μέγιστο απόθεμα" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Κωδικός κατάστασης" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Εξωτερική τοποθεσία" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "Αναλωμένο από εντολή παραγωγής" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "Εγκατεστημένο σε άλλο είδος αποθέματος" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Δέντρο προϊόντος" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "Ενημερώθηκε πριν από" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Ενημερώθηκε μετά από" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "Απογραφή πριν από" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "Απογραφή μετά από" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Ημερομηνία λήξης πριν από" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Ημερομηνία λήξης μετά από" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Παλαιωμένο" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "Διαδοχικές τοποθεσίες" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "Αν είναι true, περιλαμβάνει είδη σε θυγατρικές τοποθεσίες της δεδομένης τοποθεσίας" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Φιλτράρισμα κατά αριθμητικό ID τοποθεσίας ή τη λέξη 'null'" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Απαιτείται ποσότητα" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Πρέπει να δοθεί έγκυρο προϊόν" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "Το δοθέν προϊόν προμηθευτή δεν υπάρχει" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Το προϊόν προμηθευτή έχει ορισμένο μέγεθος συσκευασίας, αλλά η σημαία use_pack_size δεν έχει τεθεί" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Δεν μπορούν να δοθούν σειριακοί αριθμοί για μη ιχνηλάσιμο προϊόν" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "Συμπερίληψη εγκατεστημένων" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Αν είναι true, περιλαμβάνει αποτελέσματα δοκιμών για είδη που είναι εγκατεστημένα κάτω από το συγκεκριμένο είδος αποθέματος" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "Φιλτράρισμα κατά αριθμητικό ID είδους αποθέματος" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "Είδος αποθέματος με ID {id} δεν υπάρχει" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "Οι σειριακοί αριθμοί πρέπει να δοθούν ω msgid "Quantity does not match serial numbers" msgstr "Η ποσότητα δεν αντιστοιχεί στους σειριακούς αριθμούς" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "Το πρότυπο δοκιμής δεν υπάρχει" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "Το είδος αποθέματος έχει αντιστοιχιστεί σε εντολή πώλησης" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Το είδος αποθέματος είναι εγκατεστημένο σε άλλο είδος" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "Το είδος αποθέματος περιέχει άλλα είδη" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Το είδος αποθέματος έχει αντιστοιχιστεί σε πελάτη" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "Το είδος αποθέματος βρίσκεται αυτή τη στιγμή σε παραγωγή" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Σειριακό απόθεμα δεν μπορεί να συγχωνευθεί" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Διπλότυπα είδη αποθέματος" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Τα είδη αποθέματος πρέπει να αναφέρονται στο ίδιο προϊόν" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "Τα είδη αποθέματος πρέπει να αναφέρονται στο ίδιο προϊόν προμηθευτή" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Οι κωδικοί κατάστασης αποθέματος πρέπει να ταιριάζουν" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "Το StockItem δεν μπορεί να μετακινηθεί καθώς δεν βρίσκεται σε απόθεμα" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "Ιχνηλάτηση είδους αποθέματος" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Σημειώσεις καταχώρησης" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "Αποτέλεσμα δοκιμής είδους αποθέματος" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Πρέπει να δοθεί τιμή για αυτή τη δοκιμή" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "Πρέπει να μεταφορτωθεί συνημμένο για αυτή τη δοκιμή" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "Μη έγκυρη τιμή για αυτή τη δοκιμή" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Αποτέλεσμα δοκιμής" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Τιμή αποτελέσματος δοκιμής" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Συνημμένο αποτελέσματος δοκιμής" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Σημειώσεις δοκιμής" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "Σταθμός δοκιμής" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "Ο αναγνωριστικός κωδικός του σταθμού δοκιμής όπου πραγματοποιήθηκε η δοκιμή" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "Έναρξη" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "Χρονική σήμανση έναρξης της δοκιμής" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Ολοκλήρωση" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "Χρονική σήμανση λήξης της δοκιμής" @@ -9617,11 +9638,6 @@ msgstr "Η ποσότητα προς εγκατάσταση δεν πρέπει msgid "Destination location for uninstalled item" msgstr "Τοποθεσία προορισμού για το απεγκατεστημένο είδος" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Κωδικός κατάστασης είδους αποθέματος" diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index 2e2c4f6f0d..4cc948fcba 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: 2026-07-31 09:20+0000\n" +"POT-Creation-Date: 2026-08-11 03:18+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -93,12 +93,16 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "" @@ -111,10 +115,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -130,91 +134,91 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "" @@ -281,7 +285,7 @@ msgstr "" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "" @@ -289,7 +293,7 @@ msgstr "" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -347,75 +351,75 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -598,20 +602,20 @@ msgstr "" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -622,7 +626,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -633,9 +637,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "" @@ -651,11 +655,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -707,18 +711,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "" @@ -726,7 +730,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -734,12 +738,12 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -750,7 +754,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -768,11 +772,11 @@ msgid "Build Order" msgstr "" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -825,9 +829,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -856,7 +860,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "" @@ -915,7 +919,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "" @@ -953,7 +957,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -966,7 +970,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "" @@ -1017,9 +1021,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1044,11 +1048,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1063,10 +1067,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1098,7 +1102,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1119,11 +1123,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "" @@ -1152,7 +1156,7 @@ msgstr "" msgid "Part Name" msgstr "" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1205,12 +1209,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1234,304 +1238,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1556,7 +1565,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1633,8 +1642,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1668,8 +1677,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "" @@ -1717,7 +1726,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1828,7 +1837,7 @@ msgstr "" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1897,7 +1906,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "" @@ -2015,7 +2024,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2099,7 +2108,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2207,7 +2216,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2223,7 +2232,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2243,7 +2252,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2255,7 +2264,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2309,7 +2318,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2318,7 +2327,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2345,7 +2354,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2374,7 +2383,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2618,7 +2627,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3009,7 +3018,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "" @@ -3018,7 +3027,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3026,7 +3035,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3038,7 +3047,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4339,7 +4348,7 @@ msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "" @@ -4525,7 +4534,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4575,7 +4584,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4611,11 +4620,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4636,7 +4645,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4732,152 +4741,152 @@ msgstr "" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4885,7 +4894,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5693,7 +5706,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5909,7 +5922,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6177,7 +6190,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6185,7 +6198,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6193,7 +6206,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6213,11 +6226,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6297,722 +6310,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7376,41 +7389,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7463,71 +7476,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8590,19 +8611,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8891,196 +8912,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9347,115 +9368,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9618,11 +9639,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 1f0021bf1a..7e4fcf391f 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "No se pudo convertir {original} a {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Detalles del error pueden encontrarse en el panel de administración" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Número decimal no válido" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "El valor '{name}' no aparece en formato de patrón" msgid "Provided value does not match required pattern: " msgstr "El valor proporcionado no coincide con el patrón requerido: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "No se puede serializar más de 1000 elementos a la vez" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "No se ha proporcionado un número de serie" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Serie duplicada" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Grupo no válido {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Numeros de serie no encontrados" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "El número de números de serie únicos ({n}) tiene que coincidir con la cantidad ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Eliminar etiquetas HTML de este valor" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Los datos contienen contenido de marcado prohibido" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "URL no válida: falta el nombre de host" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "URL no válida: no se pudo resolver el nombre de host" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "La URL apunta a una dirección IP privada o reservada" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "Demasiadas redirecciones" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Error de conexión" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "El servidor respondió con código de estado no válido" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Se ha producido una excepción" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 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:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "El tamaño de la imagen es demasiado grande" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "La descarga de imagen excedió el tamaño máximo" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "El servidor remoto devolvió una respuesta vacía" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "La URL proporcionada no es un archivo de imagen válido" @@ -280,7 +284,7 @@ msgstr "Selección no válida" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Nombre" @@ -288,7 +292,7 @@ msgstr "Nombre" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Se ha registrado un error por el servidor." msgid "Image" msgstr "Imágen" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Copiar líneas" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Copiar elementos de línea del pedido original" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Copiar líneas adicionales" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Copiar elementos extra de la línea del pedido original" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Construcción o Armado Superior" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Incluye Variantes" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Incluye Variantes" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Incluye Variantes" msgid "Part" msgstr "Parte" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Categoría" @@ -650,11 +654,11 @@ msgstr "Asignado a mí" msgid "Assigned To" msgstr "Asignadas a" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Creado antes" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Creado despues" @@ -706,18 +710,18 @@ msgstr "Excluir Árbol" msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Consumible" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Opcional" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Montaje" @@ -725,7 +729,7 @@ msgstr "Montaje" msgid "Tracked" msgstr "Rastreado" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Comprobable" @@ -733,12 +737,12 @@ msgstr "Comprobable" msgid "Order Outstanding" msgstr "Pedido pendiente" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Asignadas" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Agotado" @@ -749,7 +753,7 @@ msgstr "Agotado" msgid "Available" msgstr "Disponible" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Construir órden" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "La fecha límite debe ser posterior a la fecha de inicio" msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Referencia de orden de venta" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Ubicación de la fuente" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Número de lote de este producto final" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Fecha de Creación" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsable" @@ -965,7 +969,7 @@ msgstr "Usuario o grupo responsable de esta orden de construcción" msgid "External Link" msgstr "Link externo" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Ensamblar equipo" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" @@ -1118,11 +1122,11 @@ msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Artículo de stock" @@ -1151,7 +1155,7 @@ msgstr "Nivel de construcción" msgid "Part Name" msgstr "Nombre de parte" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Resultado de la construcción o armado" @@ -1204,12 +1208,12 @@ msgstr "Autoasignar Números de Serie" msgid "Automatically allocate required items with matching serial numbers" msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 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:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" @@ -1233,304 +1237,309 @@ msgstr "Razón para descartar la salida de ensamble(s)" msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Aceptar Asignación Incompleta" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completar salidas si el inventario no se ha asignado completamente" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Consumir Stock Asignado" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "Consume cualquier stock que ya ha sido asignado a esta construcción" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Eliminar salidas incompletas" -#: build/serializers.py:652 +#: build/serializers.py:661 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:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "No permitido" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Aceptar como consumido por este pedido de construcción" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Liberar antes de completar esta orden de construcción" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Stock sobreasignado" -#: build/serializers.py:711 +#: build/serializers.py:720 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:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Algunos artículos de inventario han sido sobreasignados" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Aceptar no asignado" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Aceptar incompleto" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "La cantidad de construcción requerida aún no se ha completado" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "La orden de construcción tiene órdenes hijas de construcción abiertas" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "Orden de construcción debe estar en estado de producción" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "El orden de construcción tiene salidas incompletas" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Linea de ensamble" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:831 +#: build/serializers.py:840 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:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Crear partida" -#: build/serializers.py:881 +#: build/serializers.py:890 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:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:963 +#: build/serializers.py:972 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:971 +#: build/serializers.py:980 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:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Excluir ubicación" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Excluir artículos de stock de esta ubicación seleccionada" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Stock intercambiable" -#: build/serializers.py:1070 +#: build/serializers.py:1079 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:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Sustituir stock" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Permitir la asignación de partes sustitutas" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Elementos opcionales" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Asignar artículos de la BOM opcionales para construir la orden" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Referencia BOM" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "ID de la parte BOM" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Nombre de parte la BOM" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Parte del proveedor" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Cantidad Asignada" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Referencia de orden de Ensamblado" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Nombre de la categoría por pieza" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Rastreable" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Heredado" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Stock externo" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Stock Disponible" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Stock sustituto disponible" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Stock variable disponible" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "En espera" msgid "Cancelled" msgstr "Cancelado" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "No se han proporcionado códigos de divisa válidos" msgid "No plugin" msgstr "Sin plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Descripción del proyecto" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Activo" @@ -1716,7 +1725,7 @@ msgstr "Cadena de clave debe ser única" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Título" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Enlace" @@ -1896,7 +1905,7 @@ msgstr "Definición" msgid "Unit definition" msgstr "Definición de unidad" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Archivo adjunto" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Valor" @@ -2098,7 +2107,7 @@ msgstr "Nombre de la lista de selección" msgid "Description of the selection list" msgstr "Descripción de la lista de selección" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Bloqueado" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Unidades" @@ -2242,7 +2251,7 @@ msgstr "Casilla de verificación" msgid "Is this parameter a checkbox?" msgstr "¿Es este parámetro una casilla de verificación?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Opciones" @@ -2254,7 +2263,7 @@ msgstr "Opciones válidas para este parámetro (separados por comas)" msgid "Selection list for this parameter" msgstr "Lista de selección para este parámetro" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Habilitado" @@ -2308,7 +2317,7 @@ msgstr "Plantilla" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Datos" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Valor del parámetro" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Datos de código de barras" msgid "User who scanned the barcode" msgstr "Usuario que escaneó el código de barras" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "Respuesta de datos del escaneo de código de barras" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Resultado" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Nombre de Archivo" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "Las partes son plantillas por defecto" msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Componente" @@ -3017,7 +3026,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Comprable" @@ -3025,7 +3034,7 @@ msgstr "Comprable" msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Vendible" @@ -3037,7 +3046,7 @@ msgstr "Las partes se pueden vender por defecto" msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtual" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Fabricante" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Empresa" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Enlace a información de dirección (externa)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Parte del fabricante" @@ -4574,7 +4583,7 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Proveedor" @@ -4610,11 +4619,11 @@ msgstr "URL del enlace de parte del proveedor externo" msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "costo base" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" @@ -4635,7 +4644,7 @@ msgstr "Cantidad de paquete" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "múltiple" @@ -4731,152 +4740,152 @@ msgstr "Colocado" msgid "Invalid status code" msgstr "Código de estado no válido" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Archivo de datos" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "Archivo de datos a importar" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Columnas" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Valores predeterminados del campo" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Filtros del campo" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Algunos campos requeridos no han sido mapeados" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "La columna ya fue mapeada a un campo de la base de datos" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "La columna no existe en el archivo de datos" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "El campo no existe en el modelo destino" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "El campo seleccionado es de solo lectura" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Sesión de importación" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Campo" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Columna" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Número de fila" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Datos de la fila original" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Errores" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Válido" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Formato de archivo de datos no soportado" @@ -4884,7 +4893,11 @@ msgstr "Formato de archivo de datos no soportado" msgid "Failed to open data file" msgstr "Error al abrir el archivo de datos" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Dimensiones del archivo de datos inválidas" @@ -5692,7 +5705,7 @@ msgstr "La cantidad debe ser 1 para el stock serializado" msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "SKU" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Número de parte interna" @@ -6176,7 +6189,7 @@ msgstr "Favoritos" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Profundidad" @@ -6184,7 +6197,7 @@ msgstr "Profundidad" msgid "Filter by category depth" msgstr "Filtrar por profundidad de categoría" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Nivel superior" @@ -6192,7 +6205,7 @@ msgstr "Nivel superior" msgid "Filter by top-level categories" msgstr "Filtrar por categorías de nivel superior" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "En cascada" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Categoría de parte" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Categorías de parte" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Ubicación Predeterminada" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Ubicación predeterminada para partes de esta categoría" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Estructural" -#: part/models.py:120 +#: part/models.py:121 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:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Palabras clave predeterminadas" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Palabras clave por defecto para partes en esta categoría" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Icono" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Icono (opcional)" -#: part/models.py:182 +#: part/models.py:183 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:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Partes" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 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:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de partes" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "La revisión de parte duplicada ya existe." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Parte con este nombre, IPN y revisión ya existe." -#: part/models.py:1077 +#: part/models.py:1087 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:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Nombre de la parte" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Es plantilla" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "¿Es esta parte una parte de la plantilla?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Variante de" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Descripción de parte (opcional)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Palabras claves" -#: part/models.py:1141 +#: part/models.py:1151 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:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Revisión" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Variante de" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "¿Dónde se almacena este artículo normalmente?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Expiración por defecto" -#: part/models.py:1232 +#: part/models.py:1242 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:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Stock mínimo" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Unidades de medida para esta parte" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "¿Se puede construir esta parte a partir de otras partes?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "¿Se puede utilizar esta parte para construir otras partes?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "¿Esta parte tiene seguimiento de objetos únicos?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta parte a proveedores externos?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "¿Se puede vender esta parte a los clientes?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "¿Está activa esta parte?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Las partes bloqueadas no pueden ser editadas" -#: part/models.py:1312 +#: part/models.py:1322 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:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Suma de verificación de BOM" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Suma de verificación de BOM almacenada" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "BOM comprobado por" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Fecha BOM comprobada" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Creación de Usuario" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Dueño responsable de esta parte" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Costo mínimo basado en precios reducidos internos" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Anular el costo mínimo" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Costo máximo" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Reemplazar coste máximo" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Costo mínimo general calculado" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Costo de Venta Máximo" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Precio de venta máximo histórico" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Fecha" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Costo de Stock Mínimo" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Costo mínimo estimado del stock disponible" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Las plantillas de prueba solo pueden ser creadas para partes de prueba" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Requerido" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3619 +#: part/models.py:3650 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:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3626 +#: part/models.py:3657 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:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:3951 +#: part/models.py:3982 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:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Validado" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Este artículo de BOM ha sido validado" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 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:4024 +#: part/models.py:4055 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:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4321 +#: part/models.py:4357 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:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Nota para esta relación" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "Copiar partes sustitutas" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Notificación por bajo stock" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "El stock disponible para {part.name} ha caído por debajo del nivel mínimo configurado" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "El código de barras coincide con artículo existente" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "No se ha encontrado ningún complemento para datos de código de barras" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Ningún pedido de venta proporcionado" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "Dimensiones de etiqueta inválidas" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Legal" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Carta" @@ -8890,196 +8911,196 @@ msgstr "Sin resultados" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Ubicación principal" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Filtrar por ubicación principal" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Nombre de pieza (insensible a mayúsculas y minúsculas)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "El nombre de la pieza (insensible a mayúsculas y minúsculas)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Nombre de la pieza (expresión regular)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "Pieza IPN (insensible a mayúsculas y minúsculas)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "Pieza IPN (insensible a mayúsculas y minúsculas)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "Pieza IPN (expresión regular)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Stock mínimo" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Stock máximo" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Código de estado" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "Instalado en otro artículo de existencias" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Árbol de piezas" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "Actualizado antes" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Actualizado después" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "Inventario antes" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "Inventario después" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Desactualizado" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "Los números de serie deben ser proporcionados como una lista" msgid "Quantity does not match serial numbers" msgstr "La cantidad no coincide con los números de serie" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 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:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Artículo de stock está instalado en otro artículo" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "Artículo de stock contiene otros artículos" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Artículo de stock ha sido asignado a un cliente" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "El artículo de stock está en producción" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Los artículos de stock deben referirse a la misma parte" -#: stock/models.py:2647 +#: stock/models.py:2659 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:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Los códigos de estado del stock deben coincidir" -#: stock/models.py:3080 +#: stock/models.py:3092 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:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Notas de entrada" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Debe proporcionarse un valor para esta prueba" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "El archivo adjunto debe ser subido para esta prueba" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Resultado de la prueba" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Valor de salida de prueba" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Adjunto de resultados de prueba" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Notas de prueba" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Finalizó" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 8c9fbb36c6..54ffc3da0f 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "No se pudo convertir {original} a {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Detalles del error pueden encontrarse en el panel de administración" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Número decimal inválido" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "El valor '{name}' no aparece en formato de patrón" msgid "Provided value does not match required pattern: " msgstr "El valor proporcionado no coincide con el patrón requerido: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "No se puede serializar más de 1000 artículos a la vez" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "No se ha proporcionado un número de serie" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Serie duplicada" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Grupo inválido: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Numeros de serie no encontrados" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "La cantidad de números de serie únicos ({n}) deben coincidir la cantidad ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Eliminar etiquetas HTML de este valor" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Los datos contienen contenido de markdown prohibido" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Error de conexión" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "El servidor respondió con código de estado no válido" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Se ha producido una excepción" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 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:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "El tamaño de la imagen es demasiado grande" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "La descarga de imagen excedió el tamaño máximo" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "El servidor remoto devolvió una respuesta vacía" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "La URL proporcionada no es un archivo de imagen válido" @@ -280,7 +284,7 @@ msgstr "Selección no válida" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Nombre" @@ -288,7 +292,7 @@ msgstr "Nombre" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Se ha registrado un error por el servidor." msgid "Image" msgstr "Imágen" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Copiar líneas" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Copiar partida del pedido original" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Copiar líneas adicionales" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Copiar partidas extra del pedido original" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Construcción o Armado Superior" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Incluye Variantes" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Incluye Variantes" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Incluye Variantes" msgid "Part" msgstr "Parte" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Categoría" @@ -650,11 +654,11 @@ msgstr "Asignado a mí" msgid "Assigned To" msgstr "Asignadas a" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Creado antes de" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Creado después de" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Consumible" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Opcional" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Montaje" @@ -725,7 +729,7 @@ msgstr "Montaje" msgid "Tracked" msgstr "Rastreado" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Comprobable" @@ -733,12 +737,12 @@ msgstr "Comprobable" msgid "Order Outstanding" msgstr "Pedido pendiente" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Asignadas" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "Disponible" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Construir órden" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Referencia de orden de venta" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Ubicación de la fuente" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Número de lote de este producto final" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Fecha de Creación" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsable" @@ -965,7 +969,7 @@ msgstr "Usuario o grupo responsable de esta orden de construcción" msgid "External Link" msgstr "Link externo" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Ensamblar equipo" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" @@ -1118,11 +1122,11 @@ msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Artículo de stock" @@ -1151,7 +1155,7 @@ msgstr "Nivel de construcción" msgid "Part Name" msgstr "Nombre de parte" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Resultado de la construcción o armado" @@ -1204,12 +1208,12 @@ msgstr "Autoasignar Números de Serie" msgid "Automatically allocate required items with matching serial numbers" msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 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:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" @@ -1233,304 +1237,309 @@ msgstr "Razón para descartar la salida de ensamble(s)" msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Aceptar Asignación Incompleta" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completar salidas si el inventario no se ha asignado completamente" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Consumir Stock Asignado" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "Consume cualquier stock que ya ha sido asignado a esta construcción" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Eliminar salidas incompletas" -#: build/serializers.py:652 +#: build/serializers.py:661 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:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "No permitido" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Aceptar como consumido por este pedido de construcción" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Liberar antes de completar esta orden de construcción" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Stock sobreasignado" -#: build/serializers.py:711 +#: build/serializers.py:720 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:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Algunos artículos de inventario han sido sobreasignados" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Aceptar no asignado" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Aceptar incompleto" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "La cantidad de construcción requerida aún no se ha completado" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "La orden de construcción tiene órdenes hijas de construcción abiertas" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "Orden de construcción debe estar en estado de producción" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "El orden de construcción tiene salidas incompletas" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Linea de ensamble" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:831 +#: build/serializers.py:840 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:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Crear partida" -#: build/serializers.py:881 +#: build/serializers.py:890 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:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:963 +#: build/serializers.py:972 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:971 +#: build/serializers.py:980 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:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Excluir ubicación" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Excluir artículos de stock de esta ubicación seleccionada" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Stock intercambiable" -#: build/serializers.py:1070 +#: build/serializers.py:1079 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:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Sustituir stock" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Permitir la asignación de partes sustitutas" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Elementos opcionales" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Asignar artículos de la BOM opcionales para construir la orden" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Referencia BOM" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "ID de la parte BOM" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Nombre de parte la BOM" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Parte del proveedor" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Cantidad Asignada" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Referencia de orden de Ensamblado" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Nombre de la categoría por pieza" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Rastreable" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Heredado" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Stock externo" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Stock Disponible" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Stock sustituto disponible" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Stock variable disponible" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "En espera" msgid "Cancelled" msgstr "Cancelado" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "No se han proporcionado códigos de divisa válidos" msgid "No plugin" msgstr "Sin plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Descripción del proyecto" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Activo" @@ -1716,7 +1725,7 @@ msgstr "Cadena de clave debe ser única" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Título" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Enlace" @@ -1896,7 +1905,7 @@ msgstr "Definición" msgid "Unit definition" msgstr "Definición de unidad" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Archivo adjunto" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "Clave lógica del estado que es igual a este estado personalizado en la lógica de negocios" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Valor" @@ -2098,7 +2107,7 @@ msgstr "Nombre de la lista de selección" msgid "Description of the selection list" msgstr "Descripción de la lista de selección" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Bloqueado" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Unidades" @@ -2242,7 +2251,7 @@ msgstr "Casilla de verificación" msgid "Is this parameter a checkbox?" msgstr "¿Es este parámetro una casilla de verificación?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Opciones" @@ -2254,7 +2263,7 @@ msgstr "Opciones válidas para este parámetro (separados por comas)" msgid "Selection list for this parameter" msgstr "Lista de selección para este parámetro" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Habilitado" @@ -2308,7 +2317,7 @@ msgstr "Plantilla" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Datos" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Valor del parámetro" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Datos de código de barras" msgid "User who scanned the barcode" msgstr "Usuario que escaneó el código de barras" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "Respuesta de datos del escaneo de código de barras" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Resultado" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Nombre de Archivo" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "Las partes son plantillas por defecto" msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Componente" @@ -3017,7 +3026,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Comprable" @@ -3025,7 +3034,7 @@ msgstr "Comprable" msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Vendible" @@ -3037,7 +3046,7 @@ msgstr "Las partes se pueden vender por defecto" msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtual" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Fabricante" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Empresa" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Enlace a información de dirección (externa)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Parte del fabricante" @@ -4574,7 +4583,7 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Proveedor" @@ -4610,11 +4619,11 @@ msgstr "URL del enlace de parte del proveedor externo" msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "costo base" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" @@ -4635,7 +4644,7 @@ msgstr "Cantidad de paquete" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "múltiple" @@ -4731,152 +4740,152 @@ msgstr "Colocado" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Archivo de datos" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "Archivo de datos a importar" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Columnas" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Valores predeterminados del campo" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Filtros del campo" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Algunos campos requeridos no han sido mapeados" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "La columna ya fue mapeada a un campo de la base de datos" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "La columna no existe en el archivo de datos" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "El campo no existe en el modelo destino" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "El campo seleccionado es de solo lectura" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Sesión de importación" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Campo" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Columna" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Número de fila" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Datos de la fila original" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Errores" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Válido" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Formato de archivo de datos no soportado" @@ -4884,7 +4893,11 @@ msgstr "Formato de archivo de datos no soportado" msgid "Failed to open data file" msgstr "Error al abrir el archivo de datos" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Dimensiones del archivo de datos inválidas" @@ -5692,7 +5705,7 @@ msgstr "La cantidad debe ser 1 para el stock serializado" msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "SKU" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Número de parte interna" @@ -6176,7 +6189,7 @@ msgstr "Favoritos" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Profundidad" @@ -6184,7 +6197,7 @@ msgstr "Profundidad" msgid "Filter by category depth" msgstr "Filtrar por profundidad de categoría" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Nivel superior" @@ -6192,7 +6205,7 @@ msgstr "Nivel superior" msgid "Filter by top-level categories" msgstr "Filtrar por categorías de nivel superior" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "En cascada" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Categoría de parte" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Categorías de parte" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Ubicación Predeterminada" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Ubicación predeterminada para partes de esta categoría" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Estructural" -#: part/models.py:120 +#: part/models.py:121 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:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Palabras clave predeterminadas" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Palabras clave por defecto para partes en esta categoría" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Icono" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Icono (opcional)" -#: part/models.py:182 +#: part/models.py:183 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:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Partes" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 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:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de partes" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "La revisión de parte duplicada ya existe." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Parte con este nombre, IPN y revisión ya existe." -#: part/models.py:1077 +#: part/models.py:1087 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:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Nombre de la parte" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Es plantilla" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "¿Es esta parte una parte de la plantilla?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Variante de" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Descripción de parte (opcional)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Palabras claves" -#: part/models.py:1141 +#: part/models.py:1151 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:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Revisión" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Variante de" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "¿Dónde se almacena este artículo normalmente?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Expiración por defecto" -#: part/models.py:1232 +#: part/models.py:1242 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:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Stock mínimo" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Unidades de medida para esta parte" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "¿Se puede construir esta parte a partir de otras partes?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "¿Se puede utilizar esta parte para construir otras partes?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "¿Esta parte tiene seguimiento de objetos únicos?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta parte a proveedores externos?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "¿Se puede vender esta parte a los clientes?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "¿Está activa esta parte?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Las partes bloqueadas no pueden ser editadas" -#: part/models.py:1312 +#: part/models.py:1322 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:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Suma de verificación de BOM" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Suma de verificación de BOM almacenada" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "BOM comprobado por" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Fecha BOM comprobada" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Creación de Usuario" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Dueño responsable de esta parte" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Costo mínimo basado en precios reducidos internos" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Anular el costo mínimo" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Costo máximo" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Reemplazar coste máximo" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Costo mínimo general calculado" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Costo de Venta Máximo" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Precio de venta máximo histórico" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Fecha" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Costo de Stock Mínimo" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Costo mínimo estimado del stock disponible" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Las plantillas de prueba solo pueden ser creadas para partes de prueba" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Requerido" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3619 +#: part/models.py:3650 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:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3626 +#: part/models.py:3657 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:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:3951 +#: part/models.py:3982 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:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Validado" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Este artículo de BOM ha sido validado" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 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:4024 +#: part/models.py:4055 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:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4321 +#: part/models.py:4357 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:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Nota para esta relación" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "Copiar partes sustitutas" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Notificación por bajo stock" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "El stock disponible para {part.name} ha caído por debajo del nivel mínimo configurado" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "El código de barras coincide con artículo existente" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "No se ha encontrado ningún complemento para datos de código de barras" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "Ningún complemento coincide con el código de barras del proveedor" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Ningún pedido de venta proporcionado" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "Dimensiones de etiqueta inválidas" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Legal" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Carta" @@ -8890,196 +8911,196 @@ msgstr "Sin resultados" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Ubicación principal" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Filtrar por ubicación principal" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Nombre de pieza (insensible a mayúsculas y minúsculas)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "El nombre de la pieza contiene (insensible a mayúsculas y minúsculas)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Nombre de la pieza (expresión regular)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "IPN de Pieza (insensible a mayúsculas y minúsculas)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "IPN de pieza contiene (insensible a mayúsculas y minúsculas)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "IPN de Pieza (expresión regular)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Existencias mínimas" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Existencias máximas" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Código de estado" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "Consumido por orden de construcción" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "Instalado en otro artículo de existencias" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Árbol de piezas" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "Actualizado antes de" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Actualizado después de" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "Inventario antes de" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "Inventario después de" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Desactualizado" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "Los números de serie deben ser proporcionados como una lista" msgid "Quantity does not match serial numbers" msgstr "La cantidad no coincide con los números de serie" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 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:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Artículo de stock está instalado en otro artículo" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "Artículo de stock contiene otros artículos" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Artículo de stock ha sido asignado a un cliente" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "El artículo de stock está en producción" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Los artículos de stock deben referirse a la misma parte" -#: stock/models.py:2647 +#: stock/models.py:2659 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:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Los códigos de estado del stock deben coincidir" -#: stock/models.py:3080 +#: stock/models.py:3092 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:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Notas de entrada" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Debe proporcionarse un valor para esta prueba" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "El archivo adjunto debe ser subido para esta prueba" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Resultado de la prueba" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Valor de salida de prueba" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Adjunto de resultados de prueba" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Notas de prueba" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Finalizó" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po index 8607563b47..931a48a877 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Language: et_EE\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Ühenduse viga" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Esines tõrge" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "" @@ -280,7 +284,7 @@ msgstr "Vigane valik" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Nimi" @@ -288,7 +292,7 @@ msgstr "Nimi" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "" msgid "Image" msgstr "Pilt" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Valuuta" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Kopeeri parameetrid" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Kopeeri read" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Kopeeri reaüksused algsest tellimusest" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Kopeeri lisareaüksused algsest tellimusest" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "Määratud" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Valikuline" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "" @@ -725,7 +729,7 @@ msgstr "" msgid "Tracked" msgstr "Jälgitud" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "Saadaval" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Loomise kuupäev" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -965,7 +969,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "Osa nimi" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Valikained" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Jälgitav" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Saadaval laos" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "Katkestatud" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "Pluginat pole" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Pealkiri" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" @@ -1896,7 +1905,7 @@ msgstr "Definitsioon" msgid "Unit definition" msgstr "Ühiku definitsioon" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Manus" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2308,7 +2317,7 @@ msgstr "Mall" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Andmed" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Vöötkoodi andmed" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Tulemus" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Failinimi" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Mudeli liik" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Komponent" @@ -3017,7 +3026,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Ostetav" @@ -3025,7 +3034,7 @@ msgstr "Ostetav" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtuaalne" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Tootja" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Ettevõte" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Tarnija" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Andmefail" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Veerud" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Väli" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Veerg" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "Tootekood" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Sügavus" @@ -6184,7 +6197,7 @@ msgstr "Sügavus" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Osa kategooria" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Osa kategooriad" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Ikoon" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Ikoon (valikuline)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Osad" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Osa nimi" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "On mall" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Märksõnad" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Osa kategooria" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Minimaalne laoseis" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Testimalle saab luua ainult testitavate osade jaoks" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Testitulemused" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index bea01de372..033c691e07 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "نمی‌توان {original} را به {unit} تبدیل کرد" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "مقدار ارائه شده نامعتبر است" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا کرد" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "مقدار اعشاری نامعتبر است" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "مقدار '{name}' در قالب الگو ظاهر قرار نمی گی msgid "Provided value does not match required pattern: " msgstr "مقدار ارائه شده با الگوی مورد نیاز مطابقت ندارد: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "نمی توان بیش از 1000 مورد را به طور همزمان سریال کرد" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "رشته شماره سریال خالی" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "سریال تکراری" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "گروه نامعتبر: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "محدوده گروه {group} از مقدار مجاز بیشتر است ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "هیچ شماره سریالی پیدا نشد" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "برچسب های HTML را از این مقدار حذف کنید" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "داده ها حاوی محتوای علامت گذاری ممنوع است" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "خطا در اتصال" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "سرور با کد وضعیت نامعتبر پاسخ داد" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "یک استثنا رخ داده است" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "سرور با مقدار طول محتوا نامعتبر پاسخ داد" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "اندازه عکس بسیار بزرگ است" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "حجم دانلود تصویر از حداکثر اندازه بیشتر شده است" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "سرور ریموت پاسخ خالی را برگرداند" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "URL ارائه شده یک فایل تصویری معتبر نیست" @@ -280,7 +284,7 @@ msgstr "انتخاب نامعتبر" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "نام" @@ -288,7 +292,7 @@ msgstr "نام" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "یک خطا توسط سرور ثبت شده است." msgid "Image" msgstr "" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "باید یک عدد معتبر باشد" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "ارز" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "ارز را از گزینه های موجود انتخاب کنید" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "مقدار نامعتبر" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "قطعه" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "دسته" @@ -650,11 +654,11 @@ msgstr "واگذار شده به من" msgid "Assigned To" msgstr "واگذار شده به" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "ایجاد شده قبل از" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "ایجاد شده بعد از" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "مصرفی" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "اختیاری" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "مونتاژ" @@ -725,7 +729,7 @@ msgstr "مونتاژ" msgid "Tracked" msgstr "" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "سفارش معوق" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "اختصاص داده شده" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "در دسترس" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "سفارش ساخت" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "مرجع سفارش فروش" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "منبع محل" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "کاربری که این سفارش ساخت را صادر کرده است" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -965,7 +969,7 @@ msgstr "" msgid "External Link" msgstr "پیوند خارجی" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2308,7 +2317,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "" @@ -3017,7 +3026,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "فایل‌های داده" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index abf18c8451..1a192c73a0 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Annettu määrä on virheellinen" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Virheen tiedot löytyvät hallintapaneelista" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Tyhjä sarjanumero" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Duplikaatti sarjanumero" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Sarjanumeroita ei löytynyt" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Yhteysvirhe" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Palvelin vastasi virheellisellä tilakoodilla" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Kuva on liian iso" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Kuvan lataus ylitti enimmäiskoon" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Etäpalvelin palautti tyhjän vastauksen" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Annettu URL ei ole kelvollinen kuvatiedosto" @@ -280,7 +284,7 @@ msgstr "Virheellinen valinta" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Nimi" @@ -288,7 +292,7 @@ msgstr "Nimi" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "" msgid "Image" msgstr "Kuva" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Valuutta" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Virheellinen arvo" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Kategoria" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "" @@ -725,7 +729,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "Saatavilla" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -965,7 +969,7 @@ msgstr "" msgid "External Link" msgstr "Ulkoinen linkki" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Varastotuote" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Ei sallittu" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Seurattavissa" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "Peruttu" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktiivinen" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Otsikko" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Linkki" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Liite" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Arvo" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Käytössä" @@ -2308,7 +2317,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Tiedostonimi" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Komponentti" @@ -3017,7 +3026,7 @@ msgstr "Komponentti" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Ostettavissa" @@ -3025,7 +3034,7 @@ msgstr "Ostettavissa" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Valmistaja" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Yritys" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Toimittaja" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Datatiedosto" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Oletus avainsanat" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Kuvake" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Kuvake (valinnainen)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Avainsanat" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 8511df1e28..b28a6f48b4 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Impossible de convertir {original} en {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 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" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Valeur décimale invalide" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "La valeur '{name}' n'apparaît pas dans le format du modèle" msgid "Provided value does not match required pattern: " msgstr "La valeur fournie ne correspond pas au modèle requis : " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Impossible de sérialiser plus de 1000 éléments à la fois" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Chaîne de numéro de série vide" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Numéro de série en doublon" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Groupe invalide : {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Aucun numéro de série trouvé" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "Le nombre de numéros de série uniques ({n}) doit correspondre à la quantité ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Retirer les balises HTML de cette valeur" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Les données contiennent du contenu markdown interdit" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Erreur de connexion" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Le serveur a répondu avec un code de statut invalide" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Une erreur est survenue" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 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:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Image trop volumineuse" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "La taille de l'image dépasse la taille maximale autorisée" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Le serveur distant a renvoyé une réponse vide" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "L'URL fournie n'est pas un fichier image valide" @@ -280,7 +284,7 @@ msgstr "Choix invalide" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Nom" @@ -288,7 +292,7 @@ msgstr "Nom" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Une erreur a été loguée par le serveur." msgid "Image" msgstr "Image" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Devise" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Sélectionnez la devise à partir des options disponibles" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "Ce champ ne peut pas être vide." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "Format du type de contenu invalide" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "Type de contenu introuvable" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "Le type de contenu ne correspond pas à la classe de mixin requise" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Copier des lignes" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Copier les postes de l'ordre original" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Copier les lignes supplémentaires" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Copier les postes supplémentaires de l'ordre original" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Fabrication parente" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Inclure les variantes" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Inclure les variantes" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Inclure les variantes" msgid "Part" msgstr "Pièce" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Catégorie" @@ -650,11 +654,11 @@ msgstr "Attribué à moi" msgid "Assigned To" msgstr "Attribué à" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Créé avant" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Créé après" @@ -706,18 +710,18 @@ msgstr "Exclure l'arbre" 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:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Consommable" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Facultatif" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Assemblage" @@ -725,7 +729,7 @@ msgstr "Assemblage" msgid "Tracked" msgstr "Suivi" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Testable" @@ -733,12 +737,12 @@ msgstr "Testable" msgid "Order Outstanding" msgstr "Commande en cours" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Allouée" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Consommé" @@ -749,7 +753,7 @@ msgstr "Consommé" msgid "Available" msgstr "Disponible" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Ordre de Fabrication" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "La date cible doit être postérieure à la date de début" msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Bon de commande de référence" msgid "Sales Order to which this build is allocated" msgstr "Commande de vente à laquelle cette fabrication est allouée" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Emplacement d'origine" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Date de création" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsable" @@ -965,7 +969,7 @@ msgstr "Utilisateur ou groupe responsable de cet ordre de construction" msgid "External Link" msgstr "Lien Externe" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "Impossible de compléter partiellement une sortie de construction avec l #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Création de l'objet" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "Quantité de stock consommé" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" @@ -1118,11 +1122,11 @@ msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Article en stock" @@ -1151,7 +1155,7 @@ msgstr "Niveau de construction" msgid "Part Name" msgstr "Nom de l'article" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Sortie d'assemblage" @@ -1204,12 +1208,12 @@ msgstr "Allouer automatiquement les numéros de série" msgid "Automatically allocate required items with matching serial numbers" msgstr "Affecter automatiquement les éléments requis avec les numéros de série correspondants" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 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:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" @@ -1233,304 +1237,309 @@ msgstr "Motif de l'élimination des produits de construction(s)" msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:579 +#: build/serializers.py:588 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:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Consommation du stock alloué" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "Consommer tout stock qui a déjà été alloué à cette construction" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Retirer les sorties incomplètes" -#: build/serializers.py:652 +#: build/serializers.py:661 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:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Non permis" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Accepter comme consommé par cet ordre de construction" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Désaffecter avant de terminer cette commande de fabrication" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Stock suralloué" -#: build/serializers.py:711 +#: build/serializers.py:720 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:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Certains articles de stock ont été suralloués" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "La quantité nécessaire n'a pas encore été complétée" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "L'ordre de construction a des ordres de construction enfants ouverts" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "L'ordre de construction doit être en état de production" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Chaîne d'assemblage" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:831 +#: build/serializers.py:840 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:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Élément de la ligne de construction" -#: build/serializers.py:881 +#: build/serializers.py:890 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:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:963 +#: build/serializers.py:972 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:971 +#: build/serializers.py:980 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:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Exclure les articles de stock de cet emplacement sélectionné" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Stock interchangeable" -#: build/serializers.py:1070 +#: build/serializers.py:1079 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:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Stock de substitution" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Autoriser l'allocation de pièces de remplacement" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Objets Optionnels" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Référence de la nomenclature" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "ID de la pièce de la nomenclature" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Nomenclature Nom de la pièce" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Construire" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Pièce fournisseur" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Quantité allouée" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Référence de construction" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Nom de la catégorie de pièces" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Traçable" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Reçu de quelqu'un" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Autoriser les variantes" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Article du BOM" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "Planifié pour fabrication" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Stock externe" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Stock disponible" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Stock de substitution disponible" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Stock de variantes disponibles" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "La quantité consommée dépasse la quantité allouée" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "Note optionnelle pour la consommation du stock" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "L'article fabriqué doit pointer vers l'ordre de fabrication correct" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "Dupliquer l'allocation de l'article de fabrication" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "L'article fabriqué doit pointer vers l'ordre de fabrication correct" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "Dupliquer l'allocation de ligne de fabrication" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "Au moins un élément ou une ligne doit être fourni" @@ -1555,7 +1564,7 @@ msgstr "En pause" msgid "Cancelled" msgstr "Annulé" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Aucun code de devise valide fourni" msgid "No plugin" msgstr "Pas de plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Description du projet" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Actif" @@ -1716,7 +1725,7 @@ msgstr "La chaîne de caractères constituant la clé doit être unique" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Titre" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Lien" @@ -1896,7 +1905,7 @@ msgstr "Définition" msgid "Unit definition" msgstr "Définition de l'unité" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Pièce jointe" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "Clé logique de l'état qui est égale à cet état personnalisé dans la logique métier" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Valeur" @@ -2098,7 +2107,7 @@ msgstr "Nom de la liste de sélection" msgid "Description of the selection list" msgstr "Description de la liste de sélection" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Verrouillé" @@ -2206,7 +2215,7 @@ msgstr "Les paramètres des cases à cocher ne peuvent pas avoir d'unités" msgid "Checkbox parameters cannot have choices" msgstr "Les paramètres des cases à cocher ne peuvent pas comporter de choix" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Les choix doivent être uniques" @@ -2222,7 +2231,7 @@ msgstr "Type de modèle cible pour ce modèle de paramètre" msgid "Parameter Name" msgstr "Nom du paramètre" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Unités" @@ -2242,7 +2251,7 @@ msgstr "Case à cocher" msgid "Is this parameter a checkbox?" msgstr "Ce paramètre est-il une case à cocher ?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Choix" @@ -2254,7 +2263,7 @@ msgstr "Choix valables pour ce paramètre (séparés par des virgules)" msgid "Selection list for this parameter" msgstr "Liste de sélection pour ce paramètre" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Activé" @@ -2308,7 +2317,7 @@ msgstr "Modèle" msgid "Parameter template" msgstr "Modèle de paramètre" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Données" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Valeur du paramètre" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Données du code-barres" msgid "User who scanned the barcode" msgstr "Utilisateur qui a scanné le code-barres" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Horodatage" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "Données de réponse provenant de la lecture du code-barres" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Résultat" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Nom du fichier" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Type de modèle" @@ -3008,7 +3017,7 @@ msgstr "Les pièces sont des templates par défaut" 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/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Composant" @@ -3017,7 +3026,7 @@ msgstr "Composant" msgid "Parts can be used as sub-components by default" msgstr "Les pièces peuvent être utilisées comme sous-composants par défaut" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Achetable" @@ -3025,7 +3034,7 @@ msgstr "Achetable" msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Vendable" @@ -3037,7 +3046,7 @@ msgstr "Les pièces sont vendables par défaut" msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtuelle" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Fabricant" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Société" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Lien vers les informations de l'adresse (externe)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Pièces du fabricant" @@ -4574,7 +4583,7 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Fournisseur" @@ -4610,11 +4619,11 @@ msgstr "Lien de la pièce du fournisseur externe" msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "coût de base" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" @@ -4635,7 +4644,7 @@ msgstr "Nombre de paquet" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Quantité totale fournie dans un emballage unique. Laisser vide pour les articles individuels." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "plusieurs" @@ -4731,152 +4740,152 @@ msgstr "Placé" msgid "Invalid status code" msgstr "Code d'état invalide" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Fichier de données" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "Fichier de données à importer" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Colonnes" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "Type de modèle cible pour cette session d'importation" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "Statut de l'importation" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Champs par défaut" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "Remplacements de champs" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Filtres de terrain" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "Mettre à jour les enregistrements existants" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "Si activé, les enregistrements existants seront mis à jour avec de nouvelles données" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Certains champs obligatoires n'ont pas été cartographiés" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "Identifiant de base de données existant pour l'enregistrement" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "La colonne est déjà associée à un champ de la base de données" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "Le champ est déjà associé à une colonne de données" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "Le mappage des colonnes doit être lié à une session d'importation valide" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "La colonne n'existe pas dans le fichier de données" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "Le champ n'existe pas dans le modèle cible" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "Le champ sélectionné est en lecture seule" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Session d'importation" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Champ d'application" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Colonne" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Index des lignes" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Données de la ligne d'origine" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Erreurs" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Valide" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "Aucun enregistrement trouvé avec l'ID fourni" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "Format d'ID invalide" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "L'ID est requis pour mettre à jour les enregistrements existants." -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Format de fichier de données non pris en charge" @@ -4884,7 +4893,11 @@ msgstr "Format de fichier de données non pris en charge" msgid "Failed to open data file" msgstr "Échec de l'ouverture du fichier de données" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Dimensions du fichier de données non valides" @@ -5692,7 +5705,7 @@ msgstr "La quantité doit être égale à 1 pour un article de stock sérialisé msgid "Sales order does not match shipment" msgstr "La commande client ne correspond pas à l'expédition" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "L'envoi ne correspond pas à la commande client" @@ -5908,7 +5921,7 @@ msgstr "Fusionner en un seul poste les éléments ayant la même partie, la mêm msgid "SKU" msgstr "Unité de gestion des stocks" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Numéro de pièce interne" @@ -6176,7 +6189,7 @@ msgstr "Étoilé" msgid "Filter by starred categories" msgstr "Filtrer par catégories étoilées" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Profondeur" @@ -6184,7 +6197,7 @@ msgstr "Profondeur" msgid "Filter by category depth" msgstr "Filtrer par profondeur de catégorie" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Premier niveau" @@ -6192,7 +6205,7 @@ msgstr "Premier niveau" msgid "Filter by top-level categories" msgstr "Filtrer par catégories de premier niveau" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "Cascade" @@ -6212,11 +6225,11 @@ msgstr "Filtrer par catégorie de parents" msgid "Exclude sub-categories under the specified category" msgstr "Exclure les sous-catégories de la catégorie spécifiée" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "Utilise" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Catégorie de composant" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Catégories de composants" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Emplacement par défaut" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Emplacement par défaut des pièces de cette catégorie" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Structurel" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Les pièces ne peuvent pas être directement affectées à une catégorie structurelle, mais peuvent être affectées à des catégories enfantines." -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Mots-clés par défaut" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Mots-clés par défaut pour les pièces de cette catégorie" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Icône" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Icône (facultatif)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Vous ne pouvez pas rendre cette catégorie de pièces structurelle car certaines pièces lui sont déjà affectées !" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "Catégorie de pièce Modèle de paramètre" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Valeur par défaut du paramètre" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Pièces" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "Impossible de supprimer cette partie car elle est verrouillée" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "Impossible de supprimer cette partie car elle est toujours active" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "Impossible de supprimer cette pièce car elle est utilisée dans un assemblage" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "La partie \"{self}\" ne peut pas être utilisée dans la nomenclature de \"{parent}\" (récursif)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "La partie \"{parent}\" est utilisée dans la nomenclature de \"{self}\" (récursif)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "L'IPN doit correspondre au modèle de regex {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "Une partie ne peut pas être une révision d'elle-même" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "Les révisions ne sont autorisées que pour les pièces d'assemblage" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "Impossible d'effectuer une révision d'un modèle de pièce" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "La partie parentale doit pointer vers le même modèle" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "Il existe déjà un article en stock avec ce numéro de série" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "La révision de la pièce existe déjà en double." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Une pièce avec ce nom, IPN et révision existe déjà." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Les pièces ne peuvent pas être affectées à des catégories de pièces structurelles !" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Nom de l'article" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Est un modèle" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Cette pièce est-elle une pièce modèle ?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Cette pièce est-elle une variante d'une autre pièce ?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Variante de" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Description de la pièce (facultatif)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Mots-clés" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Les mots-clés partiels pour améliorer la visibilité dans les résultats de recherche" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Numéro de révision ou de version de la pièce" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Révision" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "Cette partie est-elle une révision d'une autre partie ?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Révision de" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Où cet article est-il normalement stocké ?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Expiration par défaut" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "Délai d'expiration (en jours) pour les articles en stock de cette pièce" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Stock Minimum" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Niveau de stock minimum autorisé" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Unités de mesure pour cette partie" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Cette pièce peut-elle être fabriquée à partir d'autres pièces ?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "Cette pièce peut-elle être utilisée pour construire d'autres pièces ?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Cette partie dispose-t-elle d'un suivi pour les articles uniques ?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "Des résultats de tests peuvent-ils être enregistrés pour cette pièce ?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Cette pièce peut-elle être achetée auprès de fournisseurs externes ?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Cette pièce peut-elle être vendue aux clients ?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Est-ce que cette pièce est active ?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Les parties verrouillées ne peuvent pas être modifiées" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "S'agit-il d'un élément virtuel, tel qu'un logiciel ou une licence ?" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "Nomenclature validée" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "Est-ce que la nomenclature pour cette pièce est correcte ?" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Somme de contrôle de la nomenclature" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Somme de contrôle de la nomenclature enregistrée" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "Nomenclature vérifiée par" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Date de vérification de la nomenclature" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Création Utilisateur" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Propriétaire responsable de cette pièce" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Devise utilisée pour cacher les calculs de prix" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Coût minimum de la nomenclature" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Coût minimal des composants" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Coût maximal de la nomenclature" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Coût maximal des composants" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Coût d'achat minimum" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Coût d'achat historique minimum" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Coût d'achat maximum" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Coût d'achat historique maximum" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Prix interne minimum" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Coût minimum basé sur des ruptures de prix internes" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Prix interne maximum" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Coût maximum basé sur les écarts de prix internes" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Prix minimum du fournisseur" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Prix minimum des pièces provenant de fournisseurs externes" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Prix maximum du fournisseur" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Prix maximum des pièces provenant de fournisseurs externes" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Coût minimum de la variante" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Calcul du coût minimum des pièces de la variante" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Coût maximal de la variante" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Calcul du coût maximal des pièces de la variante" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Coût minimal" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Remplacer le coût minimum" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Coût maximal" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Dépassement du coût maximal" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Calcul du coût minimum global" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Calcul du coût maximum global" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Prix de vente minimum" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Prix de vente minimum basé sur des ruptures de prix" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Prix de vente maximum" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Prix de vente maximum en fonction des écarts de prix" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Coût minimum de vente" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Prix de vente historique minimum" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Coût de vente maximum" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Prix de vente historique maximum" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Partie pour l'inventaire" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Nombre d'articles" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Nombre d'entrées individuelles au moment de l'inventaire" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Stock total disponible au moment de l'inventaire" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Date" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Date de l'inventaire" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Coût minimum du stock" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Coût minimum estimé des stocks disponibles" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Coût maximal du stock" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Coût maximum estimé des stocks disponibles" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "Vente de pièces détachées Prix cassé" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "Modèle de test partiel" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Le nom du modèle n'est pas valide - il doit comporter au moins un caractère alphanumérique" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Les modèles de test ne peuvent être créés que pour les parties testables" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "Un modèle de test avec la même clé existe déjà pour la partie" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Entrez un nom pour le test" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "Clé de test" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Clé simplifiée pour le test" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Description du test" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Saisir la description de ce test" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "Ce test est-il activé ?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Requis" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Ce test est-il obligatoire pour passer l'examen ?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Valeur requise" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "Ce test nécessite-t-il une valeur lors de l'ajout d'un résultat de test ?" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Nécessite une pièce jointe" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "Ce test nécessite-t-il un fichier joint lors de l'ajout d'un résultat de test ?" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "Choix valables pour ce test (séparés par des virgules)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "L'article de nomenclature ne peut pas être modifié - l'assemblage est verrouillé" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Le poste de nomenclature ne peut pas être modifié - l'assemblage de la variante est verrouillé" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Sélectionner la partie parentale" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Sous-partie" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Sélectionner la pièce à utiliser dans la nomenclature" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Quantité de nomenclature pour ce poste de nomenclature" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Ce poste de nomenclature est facultatif" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ce poste de nomenclature est consommable (il n'est pas suivi dans les ordres de fabrication)." -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "Définir la quantité" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "Attrition" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Attrition estimée pour cette fabrication, exprimée en pourcentage (0-100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "Arrondi au multiple" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Arrondir la quantité de production requise au multiple le plus proche de cette valeur" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Référence du poste de nomenclature" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Notes sur les postes de nomenclature" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Somme de contrôle" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Somme de contrôle de la ligne de nomenclature" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Validée" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Ce poste de nomenclature a été validé" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Obtient l'héritage" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ce poste de nomenclature est hérité des nomenclatures des composants variants" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Les postes de stock pour les composants variants peuvent être utilisés pour ce poste de nomenclature" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "La quantité doit être un nombre entier pour les pièces pouvant être suivies" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "La sous-partie doit être spécifiée" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Remplacement d'un poste de nomenclature" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "La pièce de remplacement ne peut pas être identique à la pièce maîtresse" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Poste de nomenclature parent" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Pièce de rechange" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Première partie" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Partie 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Sélectionner une partie connexe" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Note pour cette relation" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "Il n'est pas possible de créer une relation entre une pièce et elle-même" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Une relation en double existe déjà" @@ -7375,41 +7388,41 @@ msgstr "Copier les pièces de remplacement" msgid "Copy substitute parts when duplicate BOM items" msgstr "Copie de pièces de rechange en cas de duplication de postes de nomenclature" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Notification de stock faible" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Le stock disponible pour {part.name}, est tombé en dessous du niveau minimum configuré" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "Pas de date d'expieatio" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "Expire aujourd’hui" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry} jours" @@ -7462,71 +7475,79 @@ msgstr "L'instance de modèle n'a pas été trouvée" msgid "Barcode matches existing item" msgstr "Le code-barres correspond à l'article existant" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Aucune donnée correspondante n'a été trouvée" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Aucune pièce de fournisseur correspondante n'a été trouvée" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Plusieurs pièces de fournisseurs correspondantes trouvées" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "Aucun plugin correspondant n'a été trouvé pour les données de code-barres" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Pièce du fournisseur assortie" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "L'article a déjà été reçu" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "Pas de correspondance de plugin pour le code-barres du fournisseur" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Plusieurs postes correspondants trouvés" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Aucun poste correspondant n'a été trouvé" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Aucun ordre de vente n'a été fourni" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "Le code-barres ne correspond pas à un article de stock existant" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "Le poste de stock ne correspond pas au poste individuel" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Stock disponible insuffisant" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Article de stock attribué à la commande client" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Pas assez d'informations" @@ -8589,19 +8610,19 @@ msgstr "Dimensions de l'étiquette non valides" msgid "No valid items provided to template" msgstr "Aucun élément valide n'a été fourni au modèle" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Juridique" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Lettre" @@ -8890,196 +8911,196 @@ msgstr "Pas de résultat" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Fichier image non trouvé" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "la balise part_image nécessite une instance de Part" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "la balise company_image nécessite une instance d'entreprise" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "Filtrer par profondeur de localisation" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "Filtrer par lieux de premier niveau" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "Inclure les sous-emplacements dans les résultats filtrés" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Emplacement parent" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Filtrer par emplacement parent" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Nom de la pièce (insensible à la casse)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "Le nom de la pièce contient (insensible à la casse)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Nom de la pièce (regex)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "Partie IPN (insensible à la casse)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "La partie IPN contient (insensible à la casse)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "Partie IPN (regex)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Stock minimum" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Stock maximum" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Code de statut" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Emplacement externe" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "Consommé par l'ordre de construction" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "Installé dans un autre article en stock" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Arbre en pièces détachées" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "Mise à jour avant" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Mise à jour après" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "Inventaire avant" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "Inventaire après" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Date d'expiration avant" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Date d’expiration après" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Périmé" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "La quantité est requise" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "La partie valide doit être fournie" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "Le fournisseur donné n'existe pas" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "La pièce du fournisseur a une taille d'emballage définie, mais le drapeau use_pack_size n'est pas activé" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Les numéros de série ne peuvent pas être fournis pour une pièce non traçable" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "Les numéros de série doivent être fournis sous forme de liste" msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "Le modèle de test n'existe pas" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "Un article de stock a été affecté à une commande client" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "L'article de stock est installé dans un autre article" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "L'article de stock contient d'autres articles" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Un article de stock a été affecté à un client" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "L'article de stock est actuellement en production" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Le stock sérialisé ne peut pas être fusionné" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Articles de stock en double" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Les articles en stock doivent se référer à la même pièce" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "Les articles en stock doivent se référer à la même pièce du fournisseur" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Les codes d'état des stocks doivent correspondre" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "StockItem ne peut pas être déplacé car il n'est pas en stock" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "Suivi des articles en stock" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Notes d'entrée" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "Résultat du test de l'article en stock" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Une valeur doit être fournie pour ce test" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "La pièce jointe doit être téléchargée pour ce test" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "Valeur non valide pour ce test" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Résultat du test" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Valeur de sortie du test" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Pièce jointe au résultat du test" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Notes de test" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "Station de test" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "L'identifiant de la station de test où le test a été effectué" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "Commencé" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "Horodatage du début du test" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Fini" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "Horodatage de la fin du test" @@ -9617,11 +9638,6 @@ msgstr "La quantité à installer ne doit pas dépasser la quantité disponible" msgid "Destination location for uninstalled item" msgstr "Emplacement de destination de l'élément désinstallé" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Code d'état de l'article en stock" diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 56c772ca81..4e8e2ef90e 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "מספרים סידוריים לא נמצאו" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "" @@ -280,7 +284,7 @@ msgstr "בחירה שגויה" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "שם" @@ -288,7 +292,7 @@ msgstr "שם" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "נרשמה שגיאה על ידי השרת." msgid "Image" msgstr "" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "מטבע" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "בחר מטבע מהאפשרויות הזמינות" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "מקור הבנייה" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "רכיב" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "" @@ -725,7 +729,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -965,7 +969,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "מבוטל" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "קישור" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "קובץ מצורף" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2308,7 +2317,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "שם קובץ" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "" @@ -3017,7 +3026,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "מוקם" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index d7e27f572b..77a75cf161 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "कनेक्शन त्रुटि" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "" @@ -280,7 +284,7 @@ msgstr "" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "" @@ -288,7 +292,7 @@ msgstr "" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "" @@ -725,7 +729,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -965,7 +969,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2308,7 +2317,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "" @@ -3017,7 +3026,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index f389123142..010bed7fd0 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "{original} átváltása {unit}-ra sikertelen" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "A hiba részleteit megtalálod az admin panelen" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Érvénytelen decimális érték" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "A(z) '{name}' érték nem a szükséges minta szerinti" msgid "Provided value does not match required pattern: " msgstr "A megadott érték nem felel meg a szükséges mintának: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Nem lehet 1000 tételnél többet szerializálni" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Üres sorozatszám" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Duplikált sorozatszám" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Érvénytelen csoport: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Nem található sorozatszám" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "A megadott számú egyedi sorozatszám ({n}) meg kell egyezzen a darabszámmal ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "HTML tag-ek eltávolítása ebből az értékből" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Az adatban tiltott markdown tartalom található" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Csatlakozási hiba" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "A kiszolgáló érvénytelen státuszkóddal válaszolt" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Kivétel történt" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "A kiszolgáló érvénytelen Content-Length értéket adott" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "A kép mérete túl nagy" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "A kép letöltés meghaladja a maximális méretet" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "A kiszolgáló üres választ adott" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "A megadott URL nem egy érvényes kép fájl" @@ -280,7 +284,7 @@ msgstr "Érvénytelen választás" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Név" @@ -288,7 +292,7 @@ msgstr "Név" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "A kiszolgáló egy hibaüzenetet rögzített." msgid "Image" msgstr "Kép" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Pénznem" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Válassz pénznemet a lehetőségek közül" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "Ez a mező nem lehet null." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "Érvénytelen tartalomtípus-formátum" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "Tartalomtípus nem található" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "A tartalomtípus nem egyezik a szükséges mixin osztállyal" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Sorok másolása" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Sortételek másolása az eredeti rendelésről" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Extra sorok másolása" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Az eredeti rendelés extra tételeinek másolása" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Szülő gyártás" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Változatokkal együtt" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Változatokkal együtt" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Változatokkal együtt" msgid "Part" msgstr "Alkatrész" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Kategória" @@ -650,11 +654,11 @@ msgstr "Hozzám rendelt" msgid "Assigned To" msgstr "Hozzárendelve" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Ez előtt létrehozva" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Létrehozva ez után" @@ -706,18 +710,18 @@ msgstr "Fa kihagyása" 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:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Opcionális" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Gyártmány" @@ -725,7 +729,7 @@ msgstr "Gyártmány" msgid "Tracked" msgstr "Követett" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Ellenőrizhető" @@ -733,12 +737,12 @@ msgstr "Ellenőrizhető" msgid "Order Outstanding" msgstr "Befejezetlen rendelés" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Lefoglalva" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Felhasználva" @@ -749,7 +753,7 @@ msgstr "Felhasználva" msgid "Available" msgstr "Elérhető" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Gyártási utasítás" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "Céldátumnak a kezdeti dátum után kell lennie" msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Vevői rendelés azonosító" msgid "Sales Order to which this build is allocated" msgstr "Vevői rendelés, amelyhez ez a gyártás tartozik" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Forrás hely" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Létrehozás dátuma" @@ -952,7 +956,7 @@ 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:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Felelős" @@ -965,7 +969,7 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" msgid "External Link" msgstr "Külső link" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "Nem lehet részben befejezni egy építési kimenetet lefoglalt tételek #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Gyártás objektum" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "Felhasznált készlet mennyisége" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" @@ -1118,11 +1122,11 @@ msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a}) msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Készlet tétel" @@ -1151,7 +1155,7 @@ msgstr "Gyártási Szint" msgid "Part Name" msgstr "Alkatrész neve" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Gyártás kimenet" @@ -1204,12 +1208,12 @@ msgstr "Sorozatszámok automatikus hozzárendelése" msgid "Automatically allocate required items with matching serial numbers" msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatszámokkal" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 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:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" @@ -1233,305 +1237,310 @@ msgstr "Selejtezés oka" msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:579 +#: build/serializers.py:588 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:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Lefoglalt készlet felhasználása" -#: build/serializers.py:645 +#: build/serializers.py:654 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:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Nem engedélyezett" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Gyártásban fel lett használva" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Foglalás felszabadítása a készre jelentés előtt" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Túlfoglalt készlet" -#: build/serializers.py:711 +#: build/serializers.py:720 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:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Pár készlet tétel túl lett foglalva" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Szükséges gyártási mennyiség nem lett elérve" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "A Gyártásnak nyitott leszármazott Gyártása van" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "A Gyártásnak folyamatban kell lennie" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Gyártás sor" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:831 +#: build/serializers.py:840 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:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Gyártás sor tétel" -#: build/serializers.py:881 +#: build/serializers.py:890 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:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:963 +#: build/serializers.py:972 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:971 +#: build/serializers.py:980 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:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:1064 +#: build/serializers.py:1073 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:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:1070 +#: build/serializers.py:1079 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:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Opcionális tételek" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Opcionális tételek lefoglalása a gyártáshoz" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "Összes elem" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "Nem követett tételek" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "Követett tételek" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "Tétel típusa" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "Válasszon tétel típust az automatikus foglaláshoz" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Alkatrészjegyzék Hivatkozás" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "Alkatrészjegyzék Cikk Azonosító" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Alkatrészjegyzék Alkatrész Név" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "Beépítés helye" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Gyártás" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Beszállítói alkatrész" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Lefoglalt mennyiség" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Gyártási Hivatkozás" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Alkatrész kategória Neve" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Követésre kötelezett" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Örökölt" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Változatok" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "Gyártás Ütemezve" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Külső raktárkészlet" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Elérhető készlet" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Elérhető Helyettesítő Készlet" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Elérhető Készlet Változatokból" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "Felhasznált mennyiség meghaladja a lefoglalt mennyiséget" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "Megjegyzés a készletfelhasználáshoz" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "Gyártási tételnek a megfelelő gyártási rendelésre kell mutatnia" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "Dupla gyártási tétel lefoglalás" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "Gyártási sornak a megfelelő gyártási rendelésre kell mutatnia" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "Duplikált gyártási sor foglalás" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "Legalább egy tétel vagy sor megadása kötelező" @@ -1556,7 +1565,7 @@ msgstr "Felfüggesztve" msgid "Cancelled" msgstr "Törölve" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1633,8 +1642,8 @@ msgstr "Hiányzó érvényes valuta kód" msgid "No plugin" msgstr "Nincsen plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1668,8 +1677,8 @@ msgstr "Projekt leírása" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktív" @@ -1717,7 +1726,7 @@ msgstr "Kulcs string egyedi kell legyen" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1828,7 +1837,7 @@ msgstr "Cím" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" @@ -1897,7 +1906,7 @@ msgstr "Definíció" msgid "Unit definition" msgstr "Mértékegység definíció" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Melléklet" @@ -2015,7 +2024,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "Az állapot logikai kulcsa amely megegyezik az üzleti logika egyedi állapotával" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Érték" @@ -2099,7 +2108,7 @@ msgstr "Választéklista neve" msgid "Description of the selection list" msgstr "Választéklista leírása" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Lezárt" @@ -2207,7 +2216,7 @@ msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" msgid "Checkbox parameters cannot have choices" msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "A lehetőségek egyediek kell legyenek" @@ -2223,7 +2232,7 @@ msgstr "Célmodell típusa ehhez a paramétersablonhoz" msgid "Parameter Name" msgstr "Paraméter neve" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Mértékegység" @@ -2243,7 +2252,7 @@ msgstr "Jelölőnégyzet" msgid "Is this parameter a checkbox?" msgstr "Ez a paraméter egy jelölőnégyzet?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Lehetőségek" @@ -2255,7 +2264,7 @@ msgstr "Választható lehetőségek (vesszővel elválasztva)" msgid "Selection list for this parameter" msgstr "A paraméter választéklistája" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Engedélyezve" @@ -2309,7 +2318,7 @@ msgstr "Sablon" msgid "Parameter template" msgstr "Paraméter sablon" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Adat" @@ -2318,7 +2327,7 @@ msgid "Parameter Value" msgstr "Paraméter értéke" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2345,7 +2354,7 @@ msgstr "Vonalkód adat" msgid "User who scanned the barcode" msgstr "Melyik felhasználó olvasta be a vonalkódot" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Időbélyeg" @@ -2374,7 +2383,7 @@ msgid "Response data from the barcode scan" msgstr "Vonalkód olvasó válasz adat" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Eredmény" @@ -2618,7 +2627,7 @@ msgid "Filename" msgstr "Fájlnév" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Modell típusa" @@ -3009,7 +3018,7 @@ msgstr "Alkatrészek alapból sablon alkatrészek legyenek" msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Összetevő" @@ -3018,7 +3027,7 @@ msgstr "Összetevő" msgid "Parts can be used as sub-components by default" msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Beszerezhető" @@ -3026,7 +3035,7 @@ msgstr "Beszerezhető" msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Értékesíthető" @@ -3038,7 +3047,7 @@ msgstr "Alkatrészek alapból eladhatók legyenek" msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtuális" @@ -4339,7 +4348,7 @@ msgid "Manufacturer" msgstr "Gyártó" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Cég" @@ -4525,7 +4534,7 @@ msgid "Link to address information (external)" msgstr "Link a címinformációkhoz (külső)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" @@ -4575,7 +4584,7 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Beszállító" @@ -4611,11 +4620,11 @@ msgstr "URL link a beszállítói alkatrészhez" msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "alap költség" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" @@ -4636,7 +4645,7 @@ msgstr "Csomagolási mennyiség" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Egy csomagban kiszállítható mennyiség, hagyd üresen az egyedi tételeknél." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "többszörös" @@ -4732,152 +4741,152 @@ msgstr "Kiküldve" msgid "Invalid status code" msgstr "Érvénytelen állapotkód" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Adat fájl" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "Importálandó adatfájl" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Oszlopok" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "Cél model típus ehhez az import munkához" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "Betöltés állapota" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Mező Alapértelmezett Érték" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "Mező Felülbírálás" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Mező Szűrők" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "Frissítse a létező rekordokat" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "Ha engedélyezett a meglévő rekordok frissítve lesznek az új adatokkal" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Néhány kötelező mező nem került hozzárendelésre" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "Létező adatbázis azonosító a rekordhoz" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "Oszlop már adatbázis mezőhöz lett rendelve" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "Adatbázis mező már adatfájl oszlophoz lett rendelve" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "Az oszlop összerendelésnek egy helyes importálási művelethez kell kapcsolódnia" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "Az Oszlop nem létezik ebben a fájlban" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "A mező nem létezik a cél adatszerkezetben" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "Kijelölt mező csak olvasható" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Importálási művelet" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Mező" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Oszlop" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Sor száma" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Eredeti sor adat" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Hibák" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Érvényes" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "Nem található rekord a megadott ID-vel" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "Érvénytelen az ID formátuma" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "ID-ra van szükség meglévő rekord frissítéshez." -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Nem támogatott adatfájl formátum" @@ -4885,7 +4894,11 @@ msgstr "Nem támogatott adatfájl formátum" msgid "Failed to open data file" msgstr "Adatfájl megnyitása sikertelen" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Az adatállomány méretei - szélessége nem megfelelő" @@ -5693,7 +5706,7 @@ msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" @@ -5909,7 +5922,7 @@ msgstr "Azonos forrás és cél dátumú Alkatrész tételeinek összevonása eg msgid "SKU" msgstr "SKU (leltári azonosító)" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Belső cikkszám" @@ -6177,7 +6190,7 @@ msgstr "Csillagozott" msgid "Filter by starred categories" msgstr "Csillagozottra szűrés" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Mélység" @@ -6185,7 +6198,7 @@ msgstr "Mélység" msgid "Filter by category depth" msgstr "Kategória mélységre szűrés" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Felső szint" @@ -6193,7 +6206,7 @@ msgstr "Felső szint" msgid "Filter by top-level categories" msgstr "Csúcs készlethelyre szűrés" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "Lépcsőzetes" @@ -6213,11 +6226,11 @@ msgstr "Szülő kategóriára szűrés" msgid "Exclude sub-categories under the specified category" msgstr "Az adott kategória alkategóriáinak kihagyása" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6297,722 +6310,722 @@ msgstr "" msgid "Uses" msgstr "Használ" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Alkatrész kategória" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Alapértelmezett hely" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Szerkezeti" -#: part/models.py:120 +#: part/models.py:121 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:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Alapértelmezett kulcsszavak" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Ikon" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Ikon (opcionális)" -#: part/models.py:182 +#: part/models.py:183 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:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "Alkatrészcsoport Paraméter Sablon" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Alkatrészek" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "Nem lehet törölni egy zárolt alkatrész paramétereit" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "Nem lehet módosítani egy zárolt alkatrész paramétereit" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "Lezárt alkatrész nem törölhető" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "Aktív alkatrész nem törölhető" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "Összeállításban felhasznált alkatrész nem törölhető" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, 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:703 +#: part/models.py:704 #, 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:774 +#: part/models.py:775 #, 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:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "Alkatrész nem lehes saját magának verziója" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "Verziók csak összeállított alkatrészeknél engedélyezettek" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "Nem lehet sablon alkatrészből új verziót csinálni" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "A szülő alkatrésznek azonos sablonra kell mutatnia" -#: part/models.py:908 +#: part/models.py:909 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:1039 +#: part/models.py:1040 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:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "Adott alkatrész verzióból már létezik egy." -#: part/models.py:1062 +#: part/models.py:1072 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:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Kulcsszavak" -#: part/models.py:1141 +#: part/models.py:1151 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:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN (Belső Cikkszám)" -#: part/models.py:1166 +#: part/models.py:1176 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:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Változat" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "Ez egy másik alkatrész egy verziója?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Ennek a verziója" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:1232 +#: part/models.py:1242 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:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Minimális készlet" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:1266 +#: part/models.py:1276 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:1272 +#: part/models.py:1282 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:1278 +#: part/models.py:1288 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:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "Lehet ehhez az alkatrészhez több ellenőrzési eredményt rögzíteni?" -#: part/models.py:1290 +#: part/models.py:1300 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:1296 +#: part/models.py:1306 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:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Lezárt alkatrészt nem lehet szerkeszteni" -#: part/models.py:1312 +#: part/models.py:1322 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:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "Alkatrészjegyzék ellenőrizve" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "Az alkatrész anyagjegyzéke érvényes?" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Alkatrész felelőse" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Minimum költség felülbírálása" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Maximum költség" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Maximum költség felülbírálása" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Dátum" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "Alkatrész értékesítési ársáv" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "Alkatrész Teszt Sablon" -#: part/models.py:3524 +#: 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:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Teszt sablont csak ellenőrizhetőre beállított alkatrészhez lehet csinálni" -#: part/models.py:3570 +#: part/models.py:3601 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:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "Teszt azonosító" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Egyszerűsített Teszt azonosító" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "Teszt engedélyezve?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Kötelező" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3619 +#: part/models.py:3650 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:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3626 +#: part/models.py:3657 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:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "Választható lehetőségek ehhez a Teszthez (vesszővel elválasztva)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "Alkatrészjegyzék nem szerkeszthető mert az összeállítás le van zárva" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Alkatrészjegyzék nem szerkeszthető mert az összeállítás változat le van zárva" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:3951 +#: part/models.py:3982 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:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "Beállítás mennyiség" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "A gyártáshoz szükséges extra mennyiség, a beállási veszteséggel együtt" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "Veszteség" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Becsült veszteség egy gyártásnál, százalékban kifejezve (0-100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "Kerekítési többszörös" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "A szükséges termelési mennyiség az érték legközelebbi többszöröséhez kerekítése" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:4018 +#: part/models.py:4049 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:4024 +#: part/models.py:4055 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:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 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:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4321 +#: part/models.py:4357 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:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Kapcsolati megjegyzés" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" @@ -7376,41 +7389,41 @@ msgstr "Helyettesítő alkatrészek másolása" 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/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Alacsony készlet értesítés" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "Álló készlet értesítés" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "1 készlet tétel közelít a lejárati idejéhez" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "{item_count} készlet tétel közelít a lejáratához" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "Nincs lejárati dátuma" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "{abs(days_diff)} napja lejárt" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "Ma jár le" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry} nap" @@ -7463,71 +7476,79 @@ msgstr "Model példány hiányzik" msgid "Barcode matches existing item" msgstr "Ez a vonalkód már egy másik tételé" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Nem található megfelelő alkatrész adat" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Nem található megfelelő beszállítói alkatrész" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Több beszállítói alkatrész található" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "Nincsen vonalkód adathoz illeszkedő plugin" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Beszállítói alkatrész található" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "Ez a termék már bevételezve" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "A szállítói vonalkódhoz nincsen plugin találat" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Több egyező sortétel is található" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Nincs egyező sortétel" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Nincs értékesítési rendelés biztosítva" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 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:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "Készlet tétel nem egyezik a sortétellel" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Nincs elegendő" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Készlet tétel lefoglalva egy vevői rendeléshez" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Nincs elég információ" @@ -8590,19 +8611,19 @@ msgstr "Érvénytelen címke méretek" msgid "No valid items provided to template" msgstr "Nincs érvényes tétel megadva a sablonhoz" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Jogi információk" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "„Letter” méret" @@ -8891,196 +8912,196 @@ msgstr "Nincs eredmény" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "A képfile nem található" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "part_image elem csak alkatrész példánynál használható" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "company_image elem csak cég példánynál használható" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "Hely mélységre szűrés" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "Csúcs készlethelyre szűrés" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "Szűrt eredmények tartalmazzák az alhelyeket" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Szülő hely" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Szülő helyre szűrés" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Alkatrész neve (kisbetű/nagybetű nem számít)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "Az alkatrész neve tartalmazza (kisbetű/nagybetű nem számít)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Alkatrész neve (regex)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "Alkatrész IPN (kisbetű/nagybetű nem számít)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "Alkatrész IPN tartalmazza (kisbetű/nagybetű nem számít)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "Alkatrész IPN (regexp)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Minimális készlet" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Maximális készlet" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Státuszkód" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "Felhasználva Gyártási Rendelésben" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "Más készlettételbe beépítve" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Alkatrész fa" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "Módosítva ezelőtt" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Frissítve ez után" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "Leltárazva ezelőtt" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "Leltárazva ezután" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Lejárat előtt" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Lejárat után" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Állott" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "Készlethelyek alábontása" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "Az al-készlethelyeket is beleértve" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Készlethely azonosító alapján szűrés vagy a 'null'-ra" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:1179 +#: stock/api.py:1187 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:1211 +#: stock/api.py:1219 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/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "Beépítettek Belefoglalása" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Ha igaz, tartalmazza a megadott készlettétel alá beépített tételek teszteredményeit" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "Szűrés numerikus készlettétel azonosító szerint" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "A(z) {id} azonosítójú készlettétel nem létezik" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9347,115 +9368,115 @@ msgstr "Sorozatszámokat listában kell megadni" msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "Ez a Teszt sablon nem létezik" -#: stock/models.py:2612 +#: stock/models.py:2624 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:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:2647 +#: stock/models.py:2659 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:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:3080 +#: stock/models.py:3092 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:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "Készlettörténet" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "Készlet Tétel Ellenőrzés Eredménye" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "A teszt eredménye érvénytelen" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "Teszt állomás" -#: stock/models.py:3892 +#: stock/models.py:3915 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:3898 +#: stock/models.py:3921 msgid "Started" msgstr "Elkezdődött" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "A teszt indításának időpontja" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Befejezve" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "A teszt befejezésének időpontja" @@ -9618,11 +9639,6 @@ msgstr "A beépítendő mennyiség nem haladhatja meg az elérhető mennyiséget msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Készlet tétel státusz kódja" diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index 613527fc7d..53f0ed3c97 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Detail terkait galat dapat dilihat di panel admin" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "Nilai yang diberikan tidak sesuai dengan pola yang ditentukan: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Nomor seri kosong" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Gandakan Nomor Seri" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Tidak ada nomor seri ditemukan" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Hapus tag-tag HTML dari nilai ini" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Koneksi Galat" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Ukuran gambar terlalu besar" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "URL yang diberikan bukan file gambar yang valid" @@ -280,7 +284,7 @@ msgstr "Pilihan tidak valid" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Nama" @@ -288,7 +292,7 @@ msgstr "Nama" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Sebuah kesalahan telah dicatat oleh server." msgid "Image" msgstr "" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Mata Uang" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Nilai tidak valid" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Salin Baris" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Produksi Induk" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "Bagian" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "" @@ -725,7 +729,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "Tersedia" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Order Produksi" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Referensi Order Penjualan" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Lokasi Sumber" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Tanggal Pembuatan" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Penanggung Jawab" @@ -965,7 +969,7 @@ msgstr "" msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Stok Item" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Hasil Produksi" @@ -1204,12 +1208,12 @@ msgstr "Alokasikan nomor seri secara otomatis" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Terima Alokasi Tidak Lengkap" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Tidak diizinkan" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Terima Tidak Teralokasikan" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Jumlah produksi yang diperlukan masih belum cukup" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Hasil produksi" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "Hasil pesanan harus mengarah ke pesanan yang sama" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 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:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak" -#: build/serializers.py:971 +#: build/serializers.py:980 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:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Lokasi tidak termasuk" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Jangan ambil stok item dari lokasi yang dipilih" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Stok bergantian" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Stok pengganti" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Izinkan alokasi bagian pengganti" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Item tagihan material" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "Dibatalkan" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktif" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Judul" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Tautan" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Lampiran" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Pilihan" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Aktif" @@ -2308,7 +2317,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Nama File" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Komponen" @@ -3017,7 +3026,7 @@ msgstr "Komponen" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Perusahaan" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "Diletakkan" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "File data" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Tanggal" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Tidak cukup informasi" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Legal" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Letter" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "Lampiran perlu diunggah untuk tes ini" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index f9e24ca75b..e2b3385631 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Impossibile convertire {original} in {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministrazione" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Valore decimale non valido" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Il valore '{name}' non è nel formato del pattern" msgid "Provided value does not match required pattern: " msgstr "Il valore fornito non corrisponde al modello richiesto: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Impossibile serializzare più di 1000 elementi contemporaneamente" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Numero seriale vuoto" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Seriale Duplicato" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Gruppo non valido: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Nessun numero di serie trovato" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "Il numero dei numeri seriali univoci ({n}) deve essere uguale alla quantità ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Rimuovi i tag HTML da questo valore" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "I dati contengono un contenuto in markdown proibito" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Errore di connessione" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Il server ha risposto con un codice di stato non valido" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Si è verificata un'eccezione" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Il server ha risposto con valore Content-Length non valido" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Immagine troppo grande" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Il download dell'immagine ha superato la dimensione massima" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Il server remoto ha restituito una risposta vuota" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "L'URL fornito non è un file immagine valido" @@ -280,7 +284,7 @@ msgstr "Scelta non valida" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Nome" @@ -288,7 +292,7 @@ msgstr "Nome" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Un errore è stato loggato dal server." msgid "Image" msgstr "Immagine" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Selezionare la valuta dalle opzioni disponibili" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "Questo campo non può essere nullo." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "Formato tipo di contenuto non valido" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "Tipo di Contenuto non trovato" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "Il tipo di contenuto non corrisponde alla classe mixin richiesta" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Copia parametri" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Copia Linee" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Copia gli elementi di riga dall'ordine originale" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Copia Linee Extra" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Copia gli elementi di riga extra dall'ordine originale" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Produzione Genitore" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Includi Varianti" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Includi Varianti" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Includi Varianti" msgid "Part" msgstr "Articolo" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Categoria" @@ -650,11 +654,11 @@ msgstr "Assegnato a me" msgid "Assigned To" msgstr "Assegnato a" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Creato prima" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Creato dopo" @@ -706,18 +710,18 @@ msgstr "Escludi Albero" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Opzionale" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Assemblaggio" @@ -725,7 +729,7 @@ msgstr "Assemblaggio" msgid "Tracked" msgstr "Monitorato" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Testabile" @@ -733,12 +737,12 @@ msgstr "Testabile" msgid "Order Outstanding" msgstr "Ordine In Corso" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Allocato" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Utilizzato" @@ -749,7 +753,7 @@ msgstr "Utilizzato" msgid "Available" msgstr "Disponibile" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Ordine di Produzione" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "La data di scadenza deve essere successiva alla data d'inizio" msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Numero di riferimento ordine di vendita" msgid "Sales Order to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Posizione Di Origine" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Data di creazione" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsabile" @@ -965,7 +969,7 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione" msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "Impossibile completare parzialmente un build output con gli elementi ass #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Crea oggetto" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "Quantità di articoli magazzino consumate" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" @@ -1118,11 +1122,11 @@ msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità di msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Articoli in magazzino" @@ -1151,7 +1155,7 @@ msgstr "Livello Produzione" msgid "Part Name" msgstr "Nome Articolo" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Genera Output" @@ -1204,12 +1208,12 @@ msgstr "Numeri di Serie Assegnazione automatica" msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 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:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" @@ -1233,304 +1237,309 @@ msgstr "Motivo dell'eliminazione degli output di compilazione" msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Accetta Assegnazione Incompleta" -#: build/serializers.py:579 +#: build/serializers.py:588 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:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Consuma Giacenze Allocate" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "Consuma tutte le scorte che sono già state assegnate a questa produzione" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Rimuovi Output Incompleti" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "Elimina gli output di produzione che non sono stati completati" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Non permesso" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Accetta come consumato da questo ordine di produzione" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Non assegnare prima di aver completato questo ordine di produzione" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Giacenza in eccesso assegnata" -#: build/serializers.py:711 +#: build/serializers.py:720 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:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Accetta Non Assegnato" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Accetta Incompleta" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "La quantità di produzione richiesta non è stata completata" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "L'ordine di costruzione ha ancora degli ordini di costruzione figli" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "L'ordine di costruzione deve essere in stato di produzione" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Linea di produzione" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Genera Output" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "L'output di produzione deve puntare alla stessa produzione" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Articolo linea di produzione" -#: build/serializers.py:881 +#: build/serializers.py:890 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:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:963 +#: build/serializers.py:972 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:971 +#: build/serializers.py:980 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:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Escludi Ubicazione" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Escludi gli elementi stock da questa ubicazione selezionata" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Scorte Intercambiabili" -#: build/serializers.py:1070 +#: build/serializers.py:1079 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:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Sostituisci Giacenze" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Consenti l'allocazione delle parti sostitutive" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Articoli Opzionali" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Riferimento BOM" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "Identificativo dell'Articolo BOM" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Nome Articolo BOM" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Costruzione" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Articolo Fornitore" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Quantità assegnata" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Riferimento Ordine Di Costruzione" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Nome Categoria Articolo" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Tracciabile" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Ereditato" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "In Produzione" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "Pianificato per la produzione" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Scorte esterne" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Disponibilità in magazzino" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Disponibili scorte alternative" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Disponibili varianti delle scorte" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "La quantità consumata supera la quantità assegnata" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "Note facoltative per il consumo di magazzino" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "L'articolo prodotto deve puntare all'ordine di produzione corretto" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "Duplica l'allocazione degli articoli da produrre" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "La riga di produzione deve puntare all'ordine di produzione corretto" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "Duplica l'allocazione della riga di produzione" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "Deve essere fornita almeno un articolo o riga" @@ -1555,7 +1564,7 @@ msgstr "In Attesa" msgid "Cancelled" msgstr "Annullato" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Nessun codice valuta valido fornito" msgid "No plugin" msgstr "Nessun plugin" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Descrizione del progetto" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Attivo" @@ -1716,7 +1725,7 @@ msgstr "La stringa chiave deve essere univoca" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Titolo" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Collegamento" @@ -1896,7 +1905,7 @@ msgstr "Definizione" msgid "Unit definition" msgstr "Definizione unità" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Allegato" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "Chiave logica dello stato che è uguale a questo stato personalizzato nella logica commerciale" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Valore" @@ -2098,7 +2107,7 @@ msgstr "Nome dell'elenco di selezione" msgid "Description of the selection list" msgstr "Descrizione della lista di selezione" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Bloccato" @@ -2206,7 +2215,7 @@ msgstr "I parametri della casella di controllo non possono avere unità" msgid "Checkbox parameters cannot have choices" msgstr "I parametri della casella di controllo non possono avere scelte" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Le scelte devono essere uniche" @@ -2222,7 +2231,7 @@ msgstr "Tipo di modello di destinazione per questo modello di parametro" msgid "Parameter Name" msgstr "Nome Parametro" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Unità" @@ -2242,7 +2251,7 @@ msgstr "Casella di spunta" msgid "Is this parameter a checkbox?" msgstr "Questo parametro è una casella di spunta?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Scelte" @@ -2254,7 +2263,7 @@ msgstr "Scelte valide per questo parametro (separato da virgola)" msgid "Selection list for this parameter" msgstr "Lista di selezione per questo parametro" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Abilitato" @@ -2308,7 +2317,7 @@ msgstr "Modello" msgid "Parameter template" msgstr "Modello Parametro" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Dati" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Valore del Parametro" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Dati del Codice a Barre" msgid "User who scanned the barcode" msgstr "Utente che ha scannerizzato il codice a barre" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Data e ora" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "Dati di risposta dalla scansione del codice a barre" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Risultato" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Nome del file" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Tipo di modello" @@ -3008,7 +3017,7 @@ msgstr "Gli articoli sono modelli per impostazione predefinita" msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Componente" @@ -3017,7 +3026,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Acquistabile" @@ -3025,7 +3034,7 @@ msgstr "Acquistabile" msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Vendibile" @@ -3037,7 +3046,7 @@ msgstr "Gli articoli sono acquistabili per impostazione predefinita" msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtuale" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Produttore" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Azienda" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Collegamento alle informazioni sull'indirizzo (esterno)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Codice articolo produttore" @@ -4574,7 +4583,7 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Fornitore" @@ -4610,11 +4619,11 @@ msgstr "URL dell'articolo del fornitore" msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "costo base" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" @@ -4635,7 +4644,7 @@ msgstr "Quantità Confezione" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Quantità totale fornita in una singola confezione. Lasciare vuoto per gli articoli singoli." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "multiplo" @@ -4731,152 +4740,152 @@ msgstr "Inviato" msgid "Invalid status code" msgstr "Codice di stato non valido" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "File dati" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "File dati da importare" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Colonne" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "Tipo di modello di destinazione per questa sessione di importazione" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "Stato importazione" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Valori predefiniti del campo" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "Sostituisci campo" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Filtri campo" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "Aggiorna i record esistenti" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "Se abilitato, i record esistenti verranno aggiornati con i nuovi dati" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Alcuni campi richiesti non sono stati mappati" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "Identificatore del database esistente per il record" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "La colonna è già mappata a un campo del database" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "Il campo è già mappato a una colonna di dati" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "La mappatura delle colonne deve essere collegata a una sessione di importazione valida" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "La colonna non esiste nel file dati" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "Il campo non esiste nel modello di destinazione" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "Il campo selezionato è di sola lettura" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Sessione d'importazione" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Campo" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Colonna" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Indice riga" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Dati riga originali" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Errori" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Valido" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "Nessun record trovato con l'ID fornito" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "Formato ID fornito non valido" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "L'ID è richiesto per aggiornare i record esistenti." -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Formato file dati non supportato" @@ -4884,7 +4893,11 @@ msgstr "Formato file dati non supportato" msgid "Failed to open data file" msgstr "Apertura del file dati non riuscita" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Dimensioni file dati non valida" @@ -5692,7 +5705,7 @@ msgstr "La quantità deve essere 1 per l'elemento serializzato" msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" @@ -5908,7 +5921,7 @@ msgstr "Unisce gli elementi con lo stesso articolo, destinazione e data di desti msgid "SKU" msgstr "Codice articolo" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" @@ -6176,7 +6189,7 @@ msgstr "Preferiti" msgid "Filter by starred categories" msgstr "Filtra per categorie preferite" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Profondità" @@ -6184,7 +6197,7 @@ msgstr "Profondità" msgid "Filter by category depth" msgstr "Filtra per profondità categoria" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Livello principale" @@ -6192,7 +6205,7 @@ msgstr "Livello principale" msgid "Filter by top-level categories" msgstr "Filtra per categorie di primo livello" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "Cascata" @@ -6212,11 +6225,11 @@ msgstr "Filtra per categoria genitore" msgid "Exclude sub-categories under the specified category" msgstr "Escludi sottocategorie sotto la categoria specificata" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "Utilizzi" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Categorie Articolo" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Posizione Predefinita" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Strutturale" -#: part/models.py:120 +#: part/models.py:121 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:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Keywords predefinite" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Icona" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Icona (facoltativa)" -#: part/models.py:182 +#: part/models.py:183 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:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "Modello Parametro Categoria Articolo" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Articoli" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "Impossibile eliminare i parametri di una parte bloccata" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "Impossibile modificare i parametri di una parte bloccata" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "Impossibile eliminare questo articolo perché è bloccato" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "Impossibile eliminare questo articolo perché è ancora attivo" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "Non è possibile eliminare questo articolo in quanto è utilizzato in una costruzione" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "L'articolo '{self}' non può essere usata nel BOM per '{parent}' (ricorsivo)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "L'articolo '{parent}' è usato nel BOM per '{self}' (ricorsivo)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN deve corrispondere al modello regex {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "L'articolo non può essere una revisione di se stesso" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "Le revisioni sono consentite solo per le parti di assemblaggio" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "Non è possibile effettuare la revisione di un articolo modello" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "L'articolo genitore deve puntare allo stesso modello" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "La revisione dell'articolo duplicata esiste già." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "È Template" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Variante Di" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Descrizione della parte (opzionale)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Parole Chiave" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Revisione" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "Questo articolo è una revisione di un altro articolo?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Revisione di" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:1232 +#: part/models.py:1242 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:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Scorta Minima" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "Questo articolo può avere delle prove registrate?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Gli articoli bloccati non possono essere modificati" -#: part/models.py:1312 +#: part/models.py:1322 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:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "BOM Convalidata" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "Il BOM per questa parte è valido?" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Utente responsabile di questo articolo" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Sovrascrivi il costo minimo" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Costo Massimo" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Sovrascrivi il costo massimo" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Data" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "Aggiungi Prezzo Ribassato di Vendita dell'Articolo" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "Modello Prove Articolo" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Nome modello non valido - deve includere almeno un carattere alfanumerico" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Il modello di prova può essere creato solo per gli articoli testabili" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "Il modello di test con la stessa chiave esiste già per l'articolo" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "Chiave Di Prova" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Chiave semplificata per la prova" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "Questo test è attivo?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Richiesto" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3619 +#: part/models.py:3650 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:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3626 +#: part/models.py:3657 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:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "Scelte valide per questo test (separate da virgole)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "L'articolo nella distinta base non può essere modificato - l'assemblaggio è bloccato" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "L'articolo nella distinta base non può essere modificato - l'assemblaggio della variante è bloccato" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:3951 +#: part/models.py:3982 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:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "Imposta quantità" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Quantità extra necessaria per una generazione, per tenere conto delle perdite di configurazione" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "Logoramento" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Stima del logoramento per una build, espressa in percentuale (0-100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "Arrotondamento Multiplo" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Arrotonda la quantità di produzione richiesta al multiplo più vicino di questo valore" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Convalidato" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Questo articolo della distinta base è stato validato" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Viene Ereditato" -#: part/models.py:4018 +#: part/models.py:4049 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:4024 +#: part/models.py:4055 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:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4321 +#: part/models.py:4357 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:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Nota per questa relazione" -#: part/models.py:4393 +#: part/models.py:4429 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:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" @@ -7375,41 +7388,41 @@ msgstr "Copia Articoli sostitutivi" msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Notifica di magazzino bassa" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo configurato" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "Notifica di magazzino" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "Hai 1 oggetto in magazzino che si avvicina alla data di scadenza" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "Hai {item_count} oggetti in magazzino che si avvicinano alla data di scadenza" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "Nessuna data di scadenza." -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "Scaduto {abs(days_diff)} giorni fa" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "Scade oggi" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry} giorni" @@ -7462,71 +7475,79 @@ msgstr "Istanza del modello non trovata" msgid "Barcode matches existing item" msgstr "Il codice a barre corrisponde a un elemento esistente" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Nessun articolo corrispondente trovato" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Nessun fornitore articolo corrispondente trovato" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Trovati più articoli fornitori corrispondenti" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "Nessuna plugin corrispondente trovato per i dati del codice a barre" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Corrispondenza Articoli del Fornitore" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "L'articolo è già stato ricevuto" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "Nessun plugin corrisponde al codice a barre del fornitore" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Trovati più articoli corrispondenti" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Nessun elemento corrispondente trovato" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Nessun ordine di vendita fornito" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "Il codice a barre non corrisponde a un articolo di magazzino valido" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "L'elemento in magazzino non corrisponde alla riga" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Scorte insufficienti disponibili" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Articolo di magazzino assegnato all'ordine di vendita" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Informazioni non sufficienti" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "Nessun risultato" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "File immagine non trovato" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Nome della parte (maiuscole e minuscole)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "Il nome della parte contiene (maiuscole e minuscole)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Nome della parte (regex)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "IPN della parte (maiuscole e minuscole)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "IPN della parte contiene (maiuscole e minuscole)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "IPN della parte (regex)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Giacenza minima" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Giacenza massima" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Codici di stato" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Obsoleto" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 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/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "I numeri di serie devono essere forniti come elenco" msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 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:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "L'elemento di magazzino è installato in un altro elemento" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "L'elemento di magazzino contiene altri elementi" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "L'elemento di magazzino è stato assegnato a un cliente" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "L'elemento di magazzino è attualmente in produzione" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "I codici di stato dello stock devono corrispondere" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Note del test" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "Posizione di destinazione per gli elementi disinstallati" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index b435b17081..fdc204c08f 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "{original}を{unit}に変換できませんでした。" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "数量コードが無効です" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "エラーの詳細は管理者パネルで確認できます" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "無効な10進数値" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "値 '{name}' はパターン形式で表示されません" msgid "Provided value does not match required pattern: " msgstr "指定された値が必要なパターンと一致しません: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "一度に1000以上のアイテムをシリアライズすることはできません。" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "シリアル番号は空です" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "重複シリアル" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "無効なグループです:{group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "グループ範囲 {group} が許容数量を超過 ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "シリアル番号が見つかりません" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "固有のシリアル番号の数({n})は数量({q})と一致する必要があります。" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "この値からHTMLタグを削除" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "データに禁止されているマークダウン・コンテンツが含まれています。" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "無効なURL:ホスト名がありません" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "無効なURL:ホスト名を解決できませんでした" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "URLがプライベートIPアドレスまたは予約済みIPアドレスを指しています" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "リダイレクトが多すぎます" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "接続エラー" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "サーバは無効なステータスコードで応答しました" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "例外が発生しました" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "サーバーが無効なContent-Length値で応答しました" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "画像サイズが大きすぎます" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "画像のダウンロードが最大サイズを超えました" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "リモートサーバーが空のレスポンスを返しました" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "指定されたURLは有効な画像ファイルではありません" @@ -280,7 +284,7 @@ msgstr "無効な選択です" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "お名前" @@ -288,7 +292,7 @@ msgstr "お名前" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "サーバーによってエラーが記録されました。" msgid "Image" msgstr "画像" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "通貨" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "利用可能なオプションから通貨を選択してください" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "この項目は空欄にできません。" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "無効なコンテンツタイプ形式です" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "コンテンツタイプが見つかりません" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "コンテンツタイプが必須のミックスインクラスと一致しません" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "コピーパラメータ" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "コピーライン" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "元の注文から行項目をコピー" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "余分な行をコピー" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "元の注文から余分な項目をコピー" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "親ビルド" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "バリアントを含む" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "バリアントを含む" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "バリアントを含む" msgid "Part" msgstr "パーツ" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "カテゴリ" @@ -650,11 +654,11 @@ msgstr "担当" msgid "Assigned To" msgstr "割り当て" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "作成前" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "の後に作成されました。" @@ -706,18 +710,18 @@ msgstr "ツリーを除く" msgid "Build must be cancelled before it can be deleted" msgstr "削除するには、ビルドをキャンセルする必要があります。" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "消耗品" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "オプション" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "アセンブリ" @@ -725,7 +729,7 @@ msgstr "アセンブリ" msgid "Tracked" msgstr "追跡" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "テスト可能" @@ -733,12 +737,12 @@ msgstr "テスト可能" msgid "Order Outstanding" msgstr "受注残高" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "割り当てられた" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "消費されました" @@ -749,7 +753,7 @@ msgstr "消費されました" msgid "Available" msgstr "利用可能" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "組立注文" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "目標期日は開始日以降であること" msgid "Build Order Reference" msgstr "ビルド・オーダー・リファレンス" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "セールス・オーダー・リファレンス" msgid "Sales Order to which this build is allocated" msgstr "このビルドが引き当てられている受注" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "ソース・ロケーション" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "このビルド出力のバッチコード" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "作成日時" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "このビルドオーダーを発行したユーザー" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "責任" @@ -965,7 +969,7 @@ msgstr "このビルドオーダーを担当するユーザーまたはグルー msgid "External Link" msgstr "外部リンク" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "割り当てられた項目を含むビルド出力の一部のみを完 #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "ビルドオブジェクト" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "消費された在庫の数量" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "ビルド項目は、ビルド出力を指定する必要があります。" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "選択された在庫品目が部品表に一致しません。" @@ -1118,11 +1122,11 @@ msgstr "割当数量({q})は在庫可能数量({a})を超えてはなりませ msgid "Stock item is over-allocated" msgstr "在庫が過剰配分" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "在庫商品" @@ -1151,7 +1155,7 @@ msgstr "ビルドレベル" msgid "Part Name" msgstr "部品名" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "ビルド出力" @@ -1204,12 +1208,12 @@ msgstr "シリアル番号の自動割り当て" msgid "Automatically allocate required items with matching serial numbers" msgstr "シリアル番号が一致する必要なアイテムを自動的に割り当て" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "以下のシリアル番号は既に存在するか、無効です。" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "ビルド出力のリストを提供する必要があります。" @@ -1233,304 +1237,309 @@ msgstr "ビルドアウトプットを廃棄する理由" msgid "Location for completed build outputs" msgstr "完成した建造物のアウトプットの場所" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "不完全割当の受入れ" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "在庫が完全に割り当てられていない場合は、出力を完了します。" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "割当在庫の消費" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "このビルドに割り当て済みのストックを消費します。" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "不完全な出力の削除" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "完了していないビルド出力を削除します。" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "不可" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "このビルド・オーダーで消費されるものとして受け入れます。" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "このビルドオーダーを完了する前に割り当てを解除します。" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "総合在庫" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "製造オーダーに割り当てられた余分な在庫品をどのように処理しますか?" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "一部の在庫品目は全体的に配分されています。" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "未割り当ての受け入れ" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "在庫アイテムがこのビルド・オーダーに完全に割り当てられていないことを受け入れます。" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "必要在庫の配分が完了していません" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "インコンプリートの受け入れ" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "必要な数のビルドアウトプットが完了していないことを受け入れます。" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "必要な構築数量が完了していません" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "ビルド・オーダーには未完成の子ビルド・オーダーがあります。" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "受注生産状態であること" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "ビルド・オーダーの出力が不完全" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "組立ライン" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "ビルド出力" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "ビルド出力は同じビルド" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "ビルドラインアイテム" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.partは、ビルドオーダーと同じパーツを指す必要があります。" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "在庫があること" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "追跡部品の割り当てには、ビルド出力を指定する必要があります。" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "追跡されていない部品の割り当てでは、ビルド出力を指定できません。" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "割り当て項目の提供" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "部品を調達する在庫場所(任意の場所から調達する場合は空白にしてください。)" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "場所を除く" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "この選択された場所から在庫商品を除外" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "交換可能ストック" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "複数の拠点にある在庫品を交換可能" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "代替ストック" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "代替部品の割り当て" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "オプション" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "オプションのBOMアイテムをビルドオーダーに割り当てます。" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "すべてのアイテム" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "非追跡対象部品" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "追跡対象部品" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "項目タイプ" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "自動引き当てを行なう部品種類を選択してください" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "在庫優先度" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "一致する在庫アイテムが消費される優先順位" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "組立明細" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "これらの組立明細に割当を制限します (すべての行を割り当てるには空白のままにしてください)" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "BOMリファレンス" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "BOMパーツID" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "部品表 部品名" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "インストール先" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "ビルド" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "サプライヤー" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "割当数量" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "ビルドリファレンス" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "部品分類名" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "追跡可能" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "継承" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "バリアントを許可" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "BOMアイテム" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "生産中" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "ビルド予定" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "外部在庫" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "在庫状況" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "利用可能な代替ストック" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "在庫状況" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "消費量が割り当て量を超過しています" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "在庫消費に関する任意の注記" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "ビルド項目は正しいビルドオーダーを指す必要があります" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "重複したビルド項目の割り当て" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "ビルドラインは正しいビルドオーダーを指す必要があります" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "重複したビルドラインの割り当て" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "少なくとも1つの項目または行を指示する必要があります" @@ -1555,7 +1564,7 @@ msgstr "保留中" msgid "Cancelled" msgstr "キャンセル済" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "有効な通貨コードはありません" msgid "No plugin" msgstr "プラグインなし" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "タグ" @@ -1667,8 +1676,8 @@ msgstr "プロジェクトの説明" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "有効" @@ -1716,7 +1725,7 @@ msgstr "キー文字列は一意でなければなりません。" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "タイトル" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "リンク" @@ -1896,7 +1905,7 @@ msgstr "定義" msgid "Unit definition" msgstr "ユニットの定義" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "添付ファイル" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "ビジネスロジックでこのカスタムステートに等しいステート論理キー" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "値" @@ -2098,7 +2107,7 @@ msgstr "選択リストの名前" msgid "Description of the selection list" msgstr "選択リストの説明" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "ロック中" @@ -2206,7 +2215,7 @@ msgstr "チェックボックスのパラメータに単位を指定すること msgid "Checkbox parameters cannot have choices" msgstr "チェックボックスパラメータに選択肢を持たせることはできません。" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "選択肢はユニークでなければなりません" @@ -2222,7 +2231,7 @@ msgstr "このパラメータテンプレートにおける対象モデルタイ msgid "Parameter Name" msgstr "パラメータ名" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "単位" @@ -2242,7 +2251,7 @@ msgstr "チェックボックス" msgid "Is this parameter a checkbox?" msgstr "このパラメータはチェックボックスですか?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "選択肢" @@ -2254,7 +2263,7 @@ msgstr "このパラメータの有効な選択肢(カンマ区切り)" msgid "Selection list for this parameter" msgstr "このパラメータの選択リスト" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "有効" @@ -2308,7 +2317,7 @@ msgstr "テンプレート" msgid "Parameter template" msgstr "パラメータテンプレート" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "データ" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "パラメータ値" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "バーコードデータ" msgid "User who scanned the barcode" msgstr "バーコードをスキャンしたユーザー" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "タイムスタンプ" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "バーコードスキャンによるレスポンスデータ" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "結果" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "ファイル名" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "モデルタイプ" @@ -3008,7 +3017,7 @@ msgstr "パーツはデフォルトのテンプレートです" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "コンポーネント" @@ -3017,7 +3026,7 @@ msgstr "コンポーネント" msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "購入可能" @@ -3025,7 +3034,7 @@ msgstr "購入可能" msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "販売可能" @@ -3037,7 +3046,7 @@ msgstr "パーツはデフォルトで販売可能です" msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "バーチャル" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "製造元" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "会社名" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "住所情報へのリンク(外部)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "メーカー・パーツ" @@ -4574,7 +4583,7 @@ msgstr "リンクされたメーカー部品は、同じベース部品を参照 #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "仕入先" @@ -4610,11 +4619,11 @@ msgstr "外部サプライヤー部品リンク用URL" msgid "Supplier part description" msgstr "サプライヤーの部品説明" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "基本料金" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "ミニマムチャージ(例:仕入れ手数料)" @@ -4635,7 +4644,7 @@ msgstr "パック数量" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "1パックに供給される総量。単品の場合は空のままにしてください。" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "複数" @@ -4731,152 +4740,152 @@ msgstr "設置済" msgid "Invalid status code" msgstr "無効なステータスコード" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "データファイル" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "インポートするデータファイル" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "カラム" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "このインポートセッションのターゲットモデルタイプ" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "インポートの状態" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "フィールドのデフォルト" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "フィールドのオーバーライド" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "フィールドフィルター" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "既存の記録を更新する" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "有効にされた場合、既存のレコードは新しいデータで更新されます" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "一部の必須フィールドがマッピングされていません" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "完了行数の履歴" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "行数の履歴" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "レコードの既存データベース識別子" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "カラムはすでにデータベースのフィールドにマッピングされています。" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "フィールドはすでにデータ列にマッピングされています。" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "カラムマッピングは有効なインポートセッションにリンクされている必要があります。" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "カラムがデータファイルに存在しません。" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "対象モデルにフィールドが存在しない" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "選択されたフィールドは読み取り専用です。" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "ルックアップ列は、関連する(外部キー)列にのみ設定できます" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "無効なルックアップ列。有効なオプション: {options}" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "インポートセッション" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "フィールド" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "列" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "ルックアップ列" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "外部キー参照に使用するデータベースフィールドです。自動参照の場合は空白のままにしてください。" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "行インデックス" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "元の行データ" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "エラー" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "有効" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "複数の一致が見つかりました - 値が一意であることを確認するか、特定の参照フィールドを選択してください" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "指定のIDで該当する記録は見つかりませんでした" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "無効なID形式が指定されました" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "既存の記録を更新するにはIDが必要です。" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "サポートされていないデータファイル形式" @@ -4884,7 +4893,11 @@ msgstr "サポートされていないデータファイル形式" msgid "Failed to open data file" msgstr "データファイルを開けませんでした" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "無効なデータファイルの寸法" @@ -5692,7 +5705,7 @@ msgstr "シリアル化された在庫品の場合、数量は1でなければ msgid "Sales order does not match shipment" msgstr "販売注文と出荷が一致しません" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "出荷が販売注文と一致しません" @@ -5908,7 +5921,7 @@ msgstr "同じ品目、同じ仕向け地、同じ日付の品目を1つの品 msgid "SKU" msgstr "SKU" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "内部部品番号" @@ -6176,7 +6189,7 @@ msgstr "スター付き" msgid "Filter by starred categories" msgstr "星の数で絞り込む" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "深さ" @@ -6184,7 +6197,7 @@ msgstr "深さ" msgid "Filter by category depth" msgstr "カテゴリの深さでフィルタリング" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "最多メンバーレベル" @@ -6192,7 +6205,7 @@ msgstr "最多メンバーレベル" msgid "Filter by top-level categories" msgstr "トップレベルカテゴリーによるフィルタリング" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "カスケード表示" @@ -6212,11 +6225,11 @@ msgstr "親カテゴリーによる絞り込み" msgid "Exclude sub-categories under the specified category" msgstr "指定したカテゴリの下にあるサブカテゴリを除外します。" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "最大レベル" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "カテゴリツリーの深さを制限する" @@ -6296,722 +6309,722 @@ msgstr "引き当て可能在庫あり" msgid "Uses" msgstr "用途" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "パーツカテゴリ" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "パーツカテゴリ" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "デフォルトの場所" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "このカテゴリの部品のデフォルトの場所" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "構造に関するパターン" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "部品は構造カテゴリーに直接割り当てることはできませんが、子カテゴリーに割り当てることはできます。" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "デフォルトキーワード" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "このカテゴリの部品のデフォルトキーワード" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "アイコン" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "アイコン (オプション)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "いくつかの部品がすでに割り当てられているため、この部品カテゴリを構造化することはできません!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "部品分類パラメータテンプレート" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "初期値" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "パラメータのデフォルト値" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "パーツ" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "ロックされた部品のパラメータは削除できません" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "ロックされた部品のパラメータを変更することはできません" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "この部分はロックされているため削除できません" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "このパートはまだアクティブなので削除できません。" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "この部品はアセンブリで使用されているため、削除できません。" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "パート'{self}'は'{parent}'(再帰的)のBOMでは使用できません。" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "パート'{parent}'は'{self}'のBOMで使用(再帰的)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPNは正規表現パターン{pattern}に一致しなければなりません。" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "パートはそれ自体の改訂にはなりえません" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "「改訂あり」に設定された部品には、版数の入力が必須です" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "修正が許されるのは組立部品のみ" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "テンプレート部品のリビジョンを作成できません" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "親部品は同じテンプレートを指す必要があります。" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "このシリアル番号の在庫品はすでに存在します" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "パート設定でIPNの重複が許可されていません。" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "重複する部品リビジョンが既に存在します。" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "この名前、IPN、リビジョンを持つ部品は既に存在します。" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "部品を構造部品のカテゴリーに割り当てることはできません!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "部品名" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "テンプレート" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "この部品はテンプレート部品ですか?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "この部品は他の部品の変形ですか?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "変種" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "部品の説明(オプション)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "キーワード" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "検索結果での視認性を向上させる部分キーワード" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "部品のリビジョンまたはバージョン番号" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "リビジョン" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "この部品は他の部品の改訂版ですか?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "改訂版" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "この商品は通常どこに保管されていますか?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "デフォルトの有効期限" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "この部品の在庫品の有効期限(日単位" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "最小在庫" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "最低許容在庫量" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "最大在庫数" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "許容最大在庫数" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "この部品の単位" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "この部品は他の部品から作ることができますか?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "この部品を使って他の部品を作ることはできますか?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "このパーツはユニークなアイテムの追跡が可能ですか?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "この部品にテスト結果を記録することはできますか?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "この部品は外部のサプライヤーから購入できますか?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "この部品は顧客に販売できますか?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "この部分はアクティブですか?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "ロックされた部分は編集できません" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "これは、ソフトウェア製品やライセンスなどの仮想部品ですか?" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "部品表の検証が完了しました" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "こちらの部品の部品表(BOM)は有効でしょうか?" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "BOMチェックサム" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "保存されたBOMのチェックサム" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "BOMチェック済み" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "BOMチェック日" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "作成ユーザー" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "この部分の責任者" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "複数販売" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "価格計算のキャッシュに使用される通貨" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "最小BOMコスト" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "構成部品の最低コスト" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "最大BOMコスト" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "構成部品の最大コスト" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "最低購入価格" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "過去の最低購入価額" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "最大購入費用" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "過去の最高購入価格" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "最低社内価格" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "社内価格ブレークに基づく最低コスト" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "社内最高価格" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "社内価格ブレークに基づく最大コスト" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "最低供給価格" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "外部サプライヤーからの部品の最低価格" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "サプライヤー最高価格" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "外部サプライヤーからの部品の最高価格" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "最小バリアントコスト" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "バリアントパーツの最小コストの計算" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "最大バリアントコスト" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "バリアント部品の最大コストの計算" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "最低料金" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "最低コストのオーバーライド" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "最大コスト" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "最大コストのオーバーライド" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "総合的な最小コストの計算" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "総合最大コストの計算" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "最低販売価格" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "価格破壊に基づく最低販売価格" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "最高販売価格" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "価格破壊に基づく最高販売価格" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "最低販売価格" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "過去の最低売却価格" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "最大販売価格" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "過去の最高売却価格" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "ストックテイク用部品" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "個数" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "棚卸時の個別在庫数" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "ストックテイク時の在庫可能量" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "日付" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "ストックテイク実施日" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "最低在庫コスト" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "手元在庫の最低見積原価" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "最大在庫コスト" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "手元在庫の最大見積原価" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "パーツセール価格" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "部品試験テンプレート" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "無効なテンプレート名 - 英数字を1文字以上含む必要があります。" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "テストテンプレートは、テスト可能な部分に対してのみ作成できます。" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "同じキーを持つテスト・テンプレートがパートに既に存在します。" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "試験名" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "テストの名前を入力します。" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "テストキー" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "テストの簡易キー" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "試験内容" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "このテストの説明を入力してください。" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "このテストは有効ですか?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "必須" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "このテストは合格するために必要ですか?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "価値が必要" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "このテストは、テスト結果を追加する際に値を必要としますか?" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "アタッチメントが必要" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "この試験では、試験結果を追加する際にファイルの添付が必要ですか。" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "このテストで有効な選択肢(カンマ区切り)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "数量が無効です - 部品に単位が指定されていません" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "数量は0以上でなければなりません" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "BOMアイテムは変更できません - アセンブリがロックされています。" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "BOM アイテムは変更できません - バリアントアセンブリがロックされています。" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "親部品を選択" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "サブパート" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "BOMで使用する部品を選択" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "金額" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "1つの部品を製造するために消費される副部品の量" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "このBOMアイテムのBOM数量" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "この部品表はオプションです。" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "このBOMアイテムは消耗品です。" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "設定数量" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "ビルドに必要な追加の必要量(セットアップ時の損失を考慮した分)" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "歩留まり損失" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "ビルドにおける推定歩留まり率(0~100%で表されます)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "丸め倍数" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "必要な生産数量を、この値の倍数に切り上げてください。" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "BOMアイテムリファレンス" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "BOMアイテムノート" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "チェックサムi" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "BOMラインのチェックサム" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "検証済み" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "このBOMアイテムは検証済みです" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "継承" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "この BOM アイテムは、バリアントパーツの BOM に継承されます。" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "このBOMアイテムには、バリアントパーツのストックアイテムを使用できます。" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "数量は追跡可能な部品の場合、整数値でなければなりません。" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "サブパーツの指定が必要" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "BOMアイテム代替" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "代用部品はマスター部品と同じにすることはできません。" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "親BOMアイテム" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "代用部品" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "パート #1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "パート #2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "関連部品を選択" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "この関係について" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "部品とそれ自身との間に部品関係を作ることはできません。" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "重複する関係が既に存在します。" @@ -7375,41 +7388,41 @@ msgstr "コピー代用部品" msgid "Copy substitute parts when duplicate BOM items" msgstr "BOMアイテムの重複時に代替部品をコピー" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "在庫不足通知" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "{part.name}の在庫が設定された最低レベルを下回りました。" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "在庫切れ通知" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "在庫品1点について、有効期限が近づいています。" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "在庫品のうち、{item_count}点の商品がまもなく期限切れとなります。" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "有効期限なし" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "期限切れ {abs(days_diff)} 日前" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "本日が期限となります" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry} 日" @@ -7462,71 +7475,79 @@ msgstr "モデルインスタンスが見つかりません" msgid "Barcode matches existing item" msgstr "バーコードが既存のアイテムと一致" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "一致する部品データが見つかりません" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "一致するサプライヤー部品は見つかりませんでした" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "一致するサプライヤー部品が複数見つかりました" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "バーコードデータに一致するプラグインは見つかりませんでした" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "適合部品" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "商品はすでに受領済みです。" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "購買オーダーが見つかりました\\r仕入先パーツが一致しません" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "仕入先パーツが見つかりました\\r購買オーダーが一致しません" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "サプライヤーのバーコードに一致するプラグインがない" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "複数の一致する行項目が見つかりました" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "該当する項目が見つかりません" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "販売注文はありません" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "バーコードが既存の在庫品と一致しません" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "在庫品目が行品目と一致しません" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "在庫不足" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "販売注文に割り当てられた在庫品目" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "情報が不足しています" @@ -8589,19 +8610,19 @@ msgstr "無効なラベル寸法" msgid "No valid items provided to template" msgstr "テンプレートに有効な項目がありません" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "リーガル" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "文字" @@ -8890,196 +8911,196 @@ msgstr "何も結果はありません" msgid "Transferred" msgstr "転送されました" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "メディアファイルのパスが不正です" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "静的ファイルのパスが不正です" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "アセットファイルが見つかりません" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "画像ファイルが見つかりません" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "画像ファイルが指定されていません" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "part_image タグには Part インスタンスが必要です。" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "company_image タグには Company インスタンスが必要です。" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "場所の深さによる絞り込み" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "トップレベルのロケーションによるフィルタリング" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "フィルタリング結果にサブロケーションを含めることができます。" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "親の位置" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "親の所在地でフィルタリング" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "部品名(大文字・小文字を区別しません)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "パート名に含まれるもの(大文字・小文字を区別しません)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "部品名(正規表現)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "パートIPN(大文字と小文字を区別しません)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "パートIPNに含まれるもの(大文字と小文字は区別されません)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "パートIPN(正規表現)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "最小在庫" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "最大在庫" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "ステータスコード" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "外部ロケーション" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "ビルド・オーダーで消費" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "その他在庫品に装着" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "パートツリー" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "更新前" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "更新後" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "ストックテイク前" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "ストックテイク後" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "棚卸日あり" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "有効期限" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "有効期限" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "期限失効" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "カスケードの所在地" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "もし真であれば、指定された場所の子要素に含まれる項目を含めます" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "数値のロケーションID、またはリテラル文字列の「null」でフィルタリングしてください。" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "数量が必要です" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "有効な部品を供給する必要があります。" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "指定されたサプライヤの部品が存在しません。" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "サプライヤー部品にはパックサイズが定義されていますが、use_pack_sizeフラグが設定されていません。" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "追跡不可能な部品については、シリアル番号は提供できません。" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "組み込み済みを含める" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "もし真であれば、指定した在庫アイテムの中に組み込まれている構成部品のテスト結果を含める" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "数値による在庫品IDでの絞り込み" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "ID {id} の在庫品は存在しません" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "部品のバリエーションを含める" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "日付(終了)" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "日付(開始)" @@ -9346,115 +9367,115 @@ msgstr "シリアル番号はリストとして提供されなければなりま msgid "Quantity does not match serial numbers" msgstr "数量がシリアル番号と一致しません" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "テストテンプレートが存在しません" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "在庫商品が販売注文に割り当てられました" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "ストックアイテムが他のアイテムに装着されている場合" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "在庫商品には他の商品が含まれています。" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "在庫商品が顧客に割り当てられました" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "在庫品は現在生産中です。" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "連番在庫の統合はできません" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "在庫品の重複" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "在庫品目は同じ部品を参照してください。" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "在庫品は同じサプライヤーの部品を参照する必要があります。" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "在庫状況コードが一致していること" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "在庫がないため移動できません。" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "ストックアイテムのトラッキング" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "記入上の注意" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "在庫品テスト結果" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "このテストには値を指定する必要があります。" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "このテストには添付ファイルをアップロードする必要があります。" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "このテストでは無効な値です。" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "試験結果" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "テスト出力値" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "試験結果添付" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "テストノート" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "テストステーション" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "試験が実施された試験ステーションの識別子。" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "開始" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "テスト開始のタイムスタンプ" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "修了済み" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "テスト終了のタイムスタンプ" @@ -9617,11 +9638,6 @@ msgstr "設置する数量は、利用可能な数量を超えてはなりませ msgid "Destination location for uninstalled item" msgstr "アンインストール先の場所" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "在庫商品ステータスコード" diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index 47c66daac8..eb5ce8e0da 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "{original}을(를) {unit}(으)로 변환할 수 없습니다" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "잘못된 수량이 제공되었습니다" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "오류 상세 내용은 관리자 패널에서 확인할 수 있습니다" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "잘못된 소수 값" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "값 '{name}'이(가) 패턴 형식에 없습니다" msgid "Provided value does not match required pattern: " msgstr "제공된 값이 요구되는 패턴과 일치하지 않습니다: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "한 번에 1000개를 초과하여 직렬화할 수 없습니다" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "시리얼 번호 문자열이 비어 있습니다" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "중복된 시리얼" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "잘못된 그룹: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "그룹 범위 {group}이(가) 허용된 수량({expected_quantity})을 초과합니다" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "시리얼 번호를 찾을 수 없습니다" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "고유 시리얼 번호 개수({n})는 수량({q})과 일치해야 합니다" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "이 값에서 HTML 태그를 제거하세요" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "데이터에 금지된 마크다운 내용이 포함되어 있습니다" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "잘못된 URL: 호스트명이 없습니다" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "잘못된 URL: 호스트명을 확인할 수 없습니다" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "URL이 사설 또는 예약된 IP 주소를 가리킵니다" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "리디렉션이 너무 많습니다" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "연결 오류" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "서버가 잘못된 상태 코드를 반환했습니다" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "예외가 발생했습니다" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "서버가 잘못된 Content-Length 값을 반환했습니다" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "이미지 크기가 너무 큽니다!" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "이미지 다운로드가 최대 크기를 초과했습니다" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "원격 서버가 빈 응답을 반환했습니다" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "제공된 URL은 유효한 이미지 파일이 아닙니다" @@ -280,7 +284,7 @@ msgstr "잘못된 선택입니다" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "이름" @@ -288,7 +292,7 @@ msgstr "이름" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "서버에 오류가 기록되었습니다." msgid "Image" msgstr "이미지" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "통화" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "사용 가능한 옵션에서 통화를 선택하세요" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "이 필드는 null일 수 없습니다." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "유효하지 않은 값" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "콘텐츠 타입 형식이 올바르지 않습니다" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "콘텐츠 타입을 찾을 수 없습니다" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "콘텐츠 타입이 필요한 믹스인 클래스와 일치하지 않습니다" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "매개변수 복사" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "원본 항목에서 매개변수 복사" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "라인 복사" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "원본 주문에서 라인 항목을 복사" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "추가 라인 복사" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "원본 주문에서 추가 라인 항목을 복사" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "복제 옵션" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "이 항목 복제를 위한 옵션 지정" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "원본" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "복제할 인스턴스 선택" @@ -597,20 +601,20 @@ msgstr "직상위 빌드" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "변형(Variant) 포함" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "변형(Variant) 포함" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "변형(Variant) 포함" msgid "Part" msgstr "부품" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "분류" @@ -650,11 +654,11 @@ msgstr "나에게 할당 됨" msgid "Assigned To" msgstr "할당 대상" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "생성일 이전" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "생성일 이후" @@ -706,18 +710,18 @@ msgstr "트리 제외" msgid "Build must be cancelled before it can be deleted" msgstr "빌드를 삭제하려면 먼저 취소해야 합니다" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "소모품" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "선택사항" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "조립품" @@ -725,7 +729,7 @@ msgstr "조립품" msgid "Tracked" msgstr "추적됨" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "테스트 가능" @@ -733,12 +737,12 @@ msgstr "테스트 가능" msgid "Order Outstanding" msgstr "미결 주문" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "할당됨" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "소모됨" @@ -749,7 +753,7 @@ msgstr "소모됨" msgid "Available" msgstr "사용 가능" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "작업 지시서" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "목표일은 시작일 이후여야 합니다" msgid "Build Order Reference" msgstr "작업 지시서 참조번호" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "판매 주문 참조" msgid "Sales Order to which this build is allocated" msgstr "이 빌드가 할당된 판매 주문" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "원본 위치" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "이 빌드 산출물의 배치 코드" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "생성일" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "이 작업 지시서를 발행한 사용자" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "담당" @@ -965,7 +969,7 @@ msgstr "이 작업 지시서를 담당하는 사용자 또는 그룹" msgid "External Link" msgstr "외부 링크" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "외부 URL로 연결" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "할당된 항목이 있는 빌드 산출물은 부분 완료할 수 없 #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "빌드 객체" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "소모된 재고 수량" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "마스터 부품이 추적 가능으로 표시되어 있으므로, 빌드 항목은 생산 완제품을 지정해야 합니다" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "선택한 재고 항목이 BOM 라인과 일치하지 않습니다" @@ -1118,11 +1122,11 @@ msgstr "할당 수량({q})은 사용 가능한 재고 수량({a})을 초과할 msgid "Stock item is over-allocated" msgstr "재고 항목이 과다 할당되었습니다" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "재고 항목" @@ -1151,7 +1155,7 @@ msgstr "빌드 레벨" msgid "Part Name" msgstr "부품명" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "빌드 산출물" @@ -1204,12 +1208,12 @@ msgstr "시리얼 번호 자동 할당" msgid "Automatically allocate required items with matching serial numbers" msgstr "일치하는 시리얼 번호로 필요한 항목을 자동으로 할당합니다" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "다음 시리얼 번호는 이미 존재하거나 유효하지 않습니다" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "빌드 산출물 목록을 제공해야 합니다" @@ -1233,304 +1237,309 @@ msgstr "빌드 산출물 폐기 사유" msgid "Location for completed build outputs" msgstr "완료된 빌드 산출물의 위치" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "구조적 위치에는 재고 항목을 할당할 수 없습니다" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "불완전한 할당 허용" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "재고가 완전히 할당되지 않았더라도 산출물을 완료합니다" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "할당된 재고 소모" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "이 빌드에 이미 할당된 모든 재고를 소모합니다" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "미완료 산출물 제거" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "완료되지 않은 모든 빌드 산출물을 삭제합니다" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "허용되지 않음" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "이 빌드 주문에 의해 소모된 것으로 수락" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "이 빌드 주문을 완료하기 전에 할당을 해제하세요" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "과다 할당된 재고" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "빌드 주문에 추가로 할당된 재고 항목을 어떻게 처리하시겠습니까" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "일부 재고 항목이 과다 할당되었습니다" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "미할당 수락" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "재고 항목이 이 빌드 주문에 완전히 할당되지 않았음을 수락합니다" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "필요한 재고가 완전히 할당되지 않았습니다" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "불완전 수락" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "필요한 개수의 빌드 산출물이 완료되지 않았음을 수락합니다" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "필요한 빌드 수량이 완료되지 않았습니다" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "작업 지시서에 진행 중인 하위 작업 지시서가 있습니다" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "작업 지시서는 생산 상태여야 합니다" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "작업 지시서에 미완료 산출물이 있습니다" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "빌드 라인" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "생산 완제품" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "생산 완제품은 동일한 빌드를 가리켜야 합니다" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "빌드 라인 항목" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part는 빌드 주문과 동일한 부품을 가리켜야 합니다" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "항목은 재고에 있어야 합니다" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "추적 부품을 할당하려면 생산 완제품을 지정해야 합니다" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "비추적 부품 할당에는 생산 완제품을 지정할 수 없습니다" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "할당 항목을 제공해야 합니다" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "부품을 공급할 재고 위치 (비워두면 어떤 위치에서든 가져옵니다)" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "위치 제외" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "선택한 위치의 재고 항목을 제외합니다" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "상호 대체 가능한 재고" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "여러 위치에 있는 재고 품목을 서로 대체하여 사용할 수 있습니다" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "대체 재고" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "대체 부품 할당을 허용합니다" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "선택 항목" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "빌드 주문에 선택 BOM 항목을 할당합니다" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "모든 항목" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "비추적 항목" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "추적 항목" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "항목 유형" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "자동 할당할 항목 유형을 선택하세요" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "재고 우선순위" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "일치하는 재고 항목을 소비하는 우선 순서" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "빌드 라인" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "할당을 이 빌드 라인으로 제한(모든 라인에 할당하려면 비워둠)" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "BOM 참조" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "BOM 부품 ID" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "BOM 부품명" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "설치 대상" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "빌드" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "공급업체 부품" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "할당 수량" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "빌드 참조" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "부품 카테고리 이름" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "추적 가능" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "상속됨" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "변형(Variant) 허용" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "BOM 항목" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "생산 중" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "빌드 예정" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "외부 재고" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "사용 가능 재고" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "사용 가능 대체 재고" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "사용 가능 변형(Variant) 재고" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "소모 수량이 할당 수량을 초과합니다" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "재고 소모에 대한 선택 메모" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "빌드 항목은 올바른 빌드 주문을 가리켜야 합니다" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "빌드 항목 할당이 중복되었습니다" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "빌드 라인은 올바른 빌드 주문을 가리켜야 합니다" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "빌드 라인 할당이 중복되었습니다" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "최소 하나의 항목 또는 라인을 제공해야 합니다" @@ -1555,7 +1564,7 @@ msgstr "보류" msgid "Cancelled" msgstr "취소됨" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "유효한 통화 코드가 제공되지 않았습니다" msgid "No plugin" msgstr "플러그인 없음" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "태그" @@ -1667,8 +1676,8 @@ msgstr "프로젝트 설명" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "활성" @@ -1716,7 +1725,7 @@ msgstr "키 문자열은 고유해야 합니다" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "제목" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "링크" @@ -1896,7 +1905,7 @@ msgstr "정의" msgid "Unit definition" msgstr "단위 정의" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "첨부파일" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "업무 로직에서 이 사용자 정의 상태와 동일한 상태 논리 키" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "값" @@ -2098,7 +2107,7 @@ msgstr "선택 목록 이름" msgid "Description of the selection list" msgstr "선택 목록 설명" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "잠김" @@ -2206,7 +2215,7 @@ msgstr "체크박스 매개변수에는 단위를 지정할 수 없습니다" msgid "Checkbox parameters cannot have choices" msgstr "체크박스 매개변수에는 선택지를 지정할 수 없습니다" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "선택지는 고유해야 합니다" @@ -2222,7 +2231,7 @@ msgstr "이 매개변수 템플릿의 대상 모델 유형" msgid "Parameter Name" msgstr "매개변수 이름" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "단위" @@ -2242,7 +2251,7 @@ msgstr "체크박스" msgid "Is this parameter a checkbox?" msgstr "이 매개변수는 체크박스인가요?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "선택지" @@ -2254,7 +2263,7 @@ msgstr "이 매개변수에 대한 유효한 선택지(쉼표로 구분)" msgid "Selection list for this parameter" msgstr "이 매개변수의 선택 목록" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "사용" @@ -2308,7 +2317,7 @@ msgstr "템플릿" msgid "Parameter template" msgstr "매개변수 템플릿" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "데이터" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "매개변수 값" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "바코드 데이터" msgid "User who scanned the barcode" msgstr "바코드를 스캔한 사용자" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "타임스탬프" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "바코드 스캔의 응답 데이터" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "결과" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "파일명" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "모델 유형" @@ -3008,7 +3017,7 @@ msgstr "부품은 기본적으로 템플릿입니다" msgid "Parts can be assembled from other components by default" msgstr "부품은 기본적으로 다른 구성요소로 조립할 수 있습니다" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "구성요소" @@ -3017,7 +3026,7 @@ msgstr "구성요소" msgid "Parts can be used as sub-components by default" msgstr "부품은 기본적으로 하위 구성요소로 사용할 수 있습니다" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "구매 가능" @@ -3025,7 +3034,7 @@ msgstr "구매 가능" msgid "Parts are purchaseable by default" msgstr "부품은 기본적으로 구매 가능합니다" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "판매 가능" @@ -3037,7 +3046,7 @@ msgstr "부품은 기본적으로 판매 가능합니다" msgid "Parts are trackable by default" msgstr "부품은 기본적으로 추적 가능합니다" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "가상" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "제조사" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "회사" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "주소 정보 링크(외부)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "제조사 부품" @@ -4574,7 +4583,7 @@ msgstr "연결된 제조사 부품은 동일한 기본 부품을 참조해야 #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "공급업체" @@ -4610,11 +4619,11 @@ msgstr "외부 공급업체 부품 링크 URL" msgid "Supplier part description" msgstr "공급업체 부품 설명" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "기본 비용" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "최소 요금(예: 보관 수수료)" @@ -4635,7 +4644,7 @@ msgstr "포장 수량" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "한 포장에 공급되는 총 수량입니다. 단품인 경우 비워 두세요." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "배수" @@ -4731,152 +4740,152 @@ msgstr "접수됨" msgid "Invalid status code" msgstr "잘못된 상태 코드" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "데이터 파일" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "가져올 데이터 파일" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "열" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "이 가져오기 세션의 대상 모델 유형" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "가져오기 상태" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "필드 기본값" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "필드 재정의" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "필드 필터" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "기존 레코드 업데이트" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "활성화하면 기존 레코드가 새 데이터로 업데이트됩니다" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "일부 필수 필드가 매핑되지 않았습니다" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "완료된 행 수 기록" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "행 수 기록" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "레코드의 기존 데이터베이스 식별자" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "열이 이미 데이터베이스 필드에 매핑되어 있습니다" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "필드가 이미 데이터 열에 매핑되어 있습니다" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "열 매핑은 유효한 가져오기 세션에 연결되어야 합니다" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "데이터 파일에 해당 열이 없습니다" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "대상 모델에 해당 필드가 없습니다" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "선택한 필드는 읽기 전용입니다" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "조회 필드는 관련(외래 키) 필드에만 설정할 수 있음" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "잘못된 조회 필드입니다. 사용 가능한 옵션: {options}" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "가져오기 세션" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "필드" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "열" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "조회 필드" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "외래 키 조회에 사용할 데이터베이스 필드. 자동 조회를 사용하려면 비워두세요." -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "행 인덱스" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "원본 행 데이터" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "오류" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "유효" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "값에 대해 여러 항목이 일치합니다. 값이 고유한지 확인하거나 특정 조회 필드를 선택하세요" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "제공된 ID로 레코드를 찾을 수 없습니다" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "잘못된 ID 형식이 제공되었습니다" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "기존 레코드를 업데이트하려면 ID가 필요합니다." -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "지원되지 않는 데이터 파일 형식" @@ -4884,7 +4893,11 @@ msgstr "지원되지 않는 데이터 파일 형식" msgid "Failed to open data file" msgstr "데이터 파일을 열지 못했습니다" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "잘못된 데이터 파일 크기입니다" @@ -5692,7 +5705,7 @@ msgstr "일련번호가 있는 재고 품목의 수량은 1이어야 합니다" msgid "Sales order does not match shipment" msgstr "판매 주문이 발송과 일치하지 않습니다" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "발송이 판매 주문과 일치하지 않습니다" @@ -5908,7 +5921,7 @@ msgstr "부품, 목적지, 목표일이 같은 항목을 하나의 라인 항목 msgid "SKU" msgstr "SKU" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "내부 부품 번호" @@ -6176,7 +6189,7 @@ msgstr "즐겨찾기" msgid "Filter by starred categories" msgstr "즐겨찾기 카테고리로 필터" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "깊이" @@ -6184,7 +6197,7 @@ msgstr "깊이" msgid "Filter by category depth" msgstr "카테고리 깊이로 필터" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "최상위" @@ -6192,7 +6205,7 @@ msgstr "최상위" msgid "Filter by top-level categories" msgstr "최상위 카테고리로 필터" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "계층 포함" @@ -6212,11 +6225,11 @@ msgstr "상위 카테고리로 필터" msgid "Exclude sub-categories under the specified category" msgstr "지정된 카테고리 아래의 하위 카테고리를 제외" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "최대 레벨" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "카테고리 트리의 깊이 제한" @@ -6296,722 +6309,722 @@ msgstr "사용 가능한 재고 있음" msgid "Uses" msgstr "사용" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "부품 카테고리" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "부품 카테고리" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "기본 위치" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "이 카테고리의 부품 기본 위치" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "구조적" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "부품은 구조 카테고리에 직접 할당할 수 없지만, 하위 카테고리에 할당할 수 있습니다." -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "기본 키워드" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "이 카테고리의 부품 기본 키워드" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "아이콘" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "아이콘(선택)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "일부 부품이 이미 이 카테고리에 할당되어 있어 이 부품 카테고리를 구조적으로 만들 수 없습니다!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "부품 카테고리 매개변수 템플릿" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "기본값" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "기본 매개변수 값" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "부품" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "잠긴 부품의 매개변수는 삭제할 수 없습니다" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "잠긴 부품의 매개변수는 수정할 수 없습니다" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "잠겨 있어 이 부품을 삭제할 수 없습니다" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "여전히 활성 상태라 이 부품을 삭제할 수 없습니다" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "조립품에 사용 중이라 이 부품을 삭제할 수 없습니다" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "부품 '{self}'은(는) '{parent}'의 BOM에 사용할 수 없습니다(순환 참조)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "부품 '{parent}'이(가) '{self}'의 BOM에 사용되고 있습니다(순환 참조)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN은 정규식 패턴 {pattern}과 일치해야 합니다" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "부품은 자기 자신의 개정이 될 수 없습니다" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "개정으로 표시된 부품에는 개정 코드가 지정되어야 합니다" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "개정은 조립 부품에만 허용됩니다" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "템플릿 부품의 개정을 만들 수 없습니다" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "상위 부품은 동일한 템플릿을 가리켜야 합니다" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "이 일련번호의 재고 항목이 이미 존재합니다" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "부품 설정에서 중복 IPN은 허용되지 않습니다" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "중복된 부품 개정이 이미 존재합니다." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "이 이름, IPN 및 개정의 부품이 이미 존재합니다." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "부품은 구조 부품 카테고리에 할당할 수 없습니다!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "부품 이름" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "템플릿 여부" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "이 부품은 템플릿 부품인가요?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "이 부품은 다른 부품의 변형(Variant)인가요?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "변형 대상" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "부품 설명(선택)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "키워드" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "검색 결과에서 가시성을 높이기 위한 부품 키워드" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "부품 카테고리" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "부품 개정 또는 버전 번호" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "개정" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "이 부품은 다른 부품의 개정인가요?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "개정 대상" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "이 항목은 보통 어디에 보관되나요?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "기본 만료" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "이 부품의 재고 항목 만료 기간(일)" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "최소 재고" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "허용되는 최소 재고 수준" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "최대 재고" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "허용되는 최대 재고 수준" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "이 부품의 측정 단위" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "이 부품을 다른 부품으로 조립/제작할 수 있나요?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "이 부품을 사용해 다른 부품을 제작할 수 있나요?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "이 부품에 고유 항목 추적 기능이 있나요?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "이 부품에 대한 테스트 결과를 기록할 수 있나요?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "이 부품을 외부 공급업체에서 구매할 수 있나요?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "이 부품을 고객에게 판매할 수 있나요?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "이 부품이 활성 상태인가요?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "잠긴 부품은 편집할 수 없습니다" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "소프트웨어 제품이나 라이선스 같은 가상 부품인가요?" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "이 부품이 접착제나 고정구 같은 소모품입니까?" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "BOM 검증됨" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "이 부품의 BOM이 유효한가요?" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "BOM 체크섬" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "저장된 BOM 체크섬" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "BOM 검증자" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "BOM 검증 날짜" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "생성 사용자" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "이 부품의 책임 소유자" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "판매 배수" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "가격 계산 캐시에 사용되는 통화" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "최소 BOM 비용" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "구성 부품의 최소 비용" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "최대 BOM 비용" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "구성 부품의 최대 비용" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "최소 구매 비용" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "과거 구매 비용의 최소값" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "최대 구매 비용" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "과거 구매 비용의 최대값" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "최소 내부 가격" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "내부 가격 구간에 기반한 최소 비용" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "최대 내부 가격" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "내부 가격 구간에 기반한 최대 비용" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "최소 공급업체 가격" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "외부 공급업체로부터의 최소 가격" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "최대 공급업체 가격" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "외부 공급업체로부터의 최대 가격" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "최소 변형 비용" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "변형 부품의 계산된 최소 비용" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "최대 변형 비용" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "변형 부품의 계산된 최대 비용" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "최소 비용" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "최소 비용 재정의" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "최대 비용" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "최대 비용 재정의" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "계산된 전체 최소 비용" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "계산된 전체 최대 비용" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "최소 판매 가격" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "가격 구간에 기반한 최소 판매 가격" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "최대 판매 가격" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "가격 구간에 기반한 최대 판매 가격" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "최소 판매 비용" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "과거 판매 가격의 최소값" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "최대 판매 비용" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "과거 판매 가격의 최대값" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "재고 조사 대상 부품" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "항목 수" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "재고 조사 시점의 개별 재고 항목 수" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "재고 조사 시점의 사용 가능한 총 재고" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "날짜" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "재고 조사가 수행된 날짜" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "최소 재고 비용" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "보유 재고의 추정 최소 비용" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "최대 재고 비용" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "보유 재고의 추정 최대 비용" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "부품 판매 가격 구간" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "부품 내부 가격 구간" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "부품 테스트 템플릿" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "템플릿 이름이 올바르지 않습니다 - 영숫자 문자를 최소 1개 포함해야 합니다" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "테스트 템플릿은 테스트 가능한 부품에만 만들 수 있습니다" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "같은 키의 테스트 템플릿이 이 부품에 이미 존재합니다" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "테스트 이름" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "테스트 이름을 입력하세요" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "테스트 키" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "테스트를 위한 단순화된 키" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "테스트 설명" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "이 테스트에 대한 설명을 입력하세요" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "이 테스트가 활성화되어 있나요?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "필수" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "이 테스트는 통과가 필수인가요?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "값 필요" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "테스트 결과를 추가할 때 값이 필요한가요?" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "첨부 필요" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "테스트 결과를 추가할 때 파일 첨부가 필요한가요?" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "이 테스트의 유효한 선택지(쉼표로 구분)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "잘못된 수량 - 부품에 지정된 단위 없음" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "수량은 0 이상이어야 합니다" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "조립품이 잠겨 있어 BOM 항목을 수정할 수 없습니다" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "변형 조립품이 잠겨 있어 BOM 항목을 수정할 수 없습니다" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "상위 부품을 선택하세요" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "하위 부품" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "BOM에 사용할 부품을 선택하세요" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "수량" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "부품 하나를 생산하는 데 소비되는 하위 부품의 양" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "이 BOM 항목의 BOM 수량" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "이 BOM 항목은 선택 사항입니다" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "이 BOM 항목은 소모품입니다(제작 주문에서 추적되지 않음)" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "설정 수량" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "설정 손실을 고려해 제작에 추가로 필요한 수량" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "손실률" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "제작 손실률 추정치(백분율, 0-100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "반올림 배수" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "필요 생산 수량을 이 값의 가장 가까운 배수로 올림합니다" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "BOM 항목 참조" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "BOM 항목 메모" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "체크섬" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "BOM 라인 체크섬" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "검증됨" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "이 BOM 항목이 검증되었습니다" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "상속됨" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "이 BOM 항목은 변형 부품의 BOM에 상속됩니다" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "변형 부품의 재고 항목을 이 BOM 항목에 사용할 수 있습니다" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "추적 가능한 부품의 수량은 정수여야 합니다" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "하위 부품을 지정해야 합니다" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "BOM 항목 대체품" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "대체 부품은 기준 부품과 같을 수 없습니다" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "상위 BOM 항목" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "대체 부품" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "부품 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "부품 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "관련 부품 선택" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "이 관계에 대한 메모" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "부품과 자기 자신 사이에는 부품 관계를 만들 수 없습니다" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "중복된 관계가 이미 존재합니다" @@ -7375,41 +7388,41 @@ msgstr "대체 부품 복사" msgid "Copy substitute parts when duplicate BOM items" msgstr "BOM 항목을 복제할 때 대체 부품도 복사" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "재고 부족 알림" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "{part.name}의 사용 가능한 재고가 설정된 최소 수준 아래로 떨어졌습니다" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "유통기한 임박 재고 알림" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "유통기한이 임박한 재고 항목이 1개 있습니다" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "유통기한이 임박한 재고 항목이 {item_count}개 있습니다" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "유통기한 없음" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "{abs(days_diff)}일 전에 만료됨" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "오늘 만료됨" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry}일" @@ -7462,71 +7475,79 @@ msgstr "모델 인스턴스를 찾을 수 없습니다" msgid "Barcode matches existing item" msgstr "바코드가 기존 항목과 일치합니다" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "일치하는 부품 데이터를 찾을 수 없습니다" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "일치하는 공급업체 부품을 찾을 수 없습니다" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "일치하는 공급업체 부품이 여러 개 있습니다" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "바코드 데이터에 일치하는 플러그인을 찾을 수 없습니다" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "공급업체 부품과 일치함" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "항목이 이미 입고되었습니다" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "구매 주문 발견\\r일치하는 공급업체 부품 없음" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "공급업체 부품 발견\\r일치하는 구매 주문 없음" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "공급업체 바코드에 일치하는 플러그인이 없습니다" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "일치하는 라인 항목이 여러 개 있습니다" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "일치하는 라인 항목을 찾을 수 없습니다" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "판매 주문이 제공되지 않았습니다" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "바코드가 기존 재고 항목과 일치하지 않습니다" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "재고 항목이 라인 항목과 일치하지 않습니다" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "사용 가능한 재고가 부족합니다" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "재고 항목이 판매 주문에 할당되었습니다" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "정보가 충분하지 않습니다" @@ -8589,19 +8610,19 @@ msgstr "잘못된 라벨 크기입니다" msgid "No valid items provided to template" msgstr "템플릿에 유효한 항목이 제공되지 않았습니다" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Legal" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Letter" @@ -8890,196 +8911,196 @@ msgstr "결과 없음" msgid "Transferred" msgstr "이동됨" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "잘못된 미디어 파일 경로" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "잘못된 정적 파일 경로" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "자산 파일을 찾을 수 없습니다" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "이미지 파일을 찾을 수 없습니다" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "이미지 파일이 지정되지 않았습니다" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "part_image 태그에는 Part 인스턴스가 필요합니다" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "company_image 태그에는 Company 인스턴스가 필요합니다" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "위치 깊이로 필터" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "최상위 위치로 필터" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "필터 결과에 하위 위치를 포함합니다" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "상위 위치" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "상위 위치로 필터" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "부품명(대소문자 구분 없음)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "부품명 포함(대소문자 구분 없음)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "부품명(정규식)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "부품 IPN(대소문자 구분 없음)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "부품 IPN 포함(대소문자 구분 없음)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "부품 IPN(정규식)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "최소 재고" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "최대 재고" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "상태 코드" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "외부 위치" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "작업 지시서에서 소비됨" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "다른 재고 품목에 설치됨" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "부품 트리" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "업데이트 날짜 이전" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "업데이트 날짜 이후" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "재고조사 날짜 이전" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "재고조사 날짜 이후" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "재고 실사일 있음" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "유효기간 날짜 이전" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "유효기간 날짜 이후" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "장기 재고" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "위치 계단식 적용" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "true이면 지정한 위치의 하위 위치에 있는 항목을 포함합니다" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "숫자 Location ID 또는 'null' 리터럴로 필터" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "수량이 필요합니다" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "유효한 부품을 제공해야 합니다" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "지정한 공급업체 부품이 존재하지 않습니다" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "공급업체 부품에 포장 단위가 정의되어 있지만 use_pack_size 플래그가 설정되지 않았습니다" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "추적 불가능한 부품에는 시리얼 번호를 제공할 수 없습니다" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "설치된 항목 포함" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "true이면 지정한 재고 품목 아래에 설치된 항목의 테스트 결과를 포함합니다" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "숫자 재고 품목 ID로 필터" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "ID가 {id}인 재고 품목이 존재하지 않습니다" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "부품 변형 포함" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "날짜 이후" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "날짜 이전" @@ -9346,115 +9367,115 @@ msgstr "시리얼 번호는 목록으로 제공되어야 합니다" msgid "Quantity does not match serial numbers" msgstr "수량이 시리얼 번호와 일치하지 않습니다" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "테스트 템플릿이 존재하지 않습니다" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "재고 품목이 판매 주문에 할당되었습니다" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "재고 품목이 다른 품목에 설치되어 있습니다" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "재고 품목에 다른 품목이 포함되어 있습니다" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "재고 품목이 고객에게 할당되었습니다" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "재고 품목이 현재 생산 중입니다" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "시리얼 추적 재고는 병합할 수 없습니다" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "중복 재고 품목" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "재고 품목은 동일한 부품을 참조해야 합니다" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "재고 항목은 동일한 공급업체 부품을 참조해야 합니다" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "재고 상태 코드는 일치해야 합니다" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "재고에 없으므로 재고 항목을 이동할 수 없습니다" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "재고 항목 추적" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "항목 메모" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "재고 항목 테스트 결과" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "이 테스트에는 값을 제공해야 합니다" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "이 테스트에는 첨부 파일을 업로드해야 합니다" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "이 테스트의 값이 올바르지 않습니다" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "테스트 결과" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "테스트 출력 값" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "테스트 결과 첨부 파일" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "테스트 메모" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "테스트 스테이션" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "테스트가 수행된 테스트 스테이션의 식별자" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "시작됨" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "테스트 시작 시각" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "완료됨" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "테스트 종료 시각" @@ -9617,11 +9638,6 @@ msgstr "설치 수량은 사용 가능한 수량을 초과할 수 없습니다" msgid "Destination location for uninstalled item" msgstr "미설치 항목의 대상 위치" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "구조적 위치에는 재고 항목을 할당할 수 없습니다" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "재고 항목 상태 코드" diff --git a/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po index b1e0a82c98..2a602df4c4 100644 --- a/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Language: lt_LT\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Nepavyko konvertuoti {original} į {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Pateiktas neteisingas kiekis" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Išsami klaidos informacija pateikta administravimo skydelyje" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Neteisinga dešimtainė reikšmė" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Reikšmė „{name}“ neatitinka šablono formato" msgid "Provided value does not match required pattern: " msgstr "Pateikta reikšmė neatitinka reikalaujamo šablono: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Negalima iš karto susieti daugiau nei 1000 elementų" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Nepateiktas serijos numeris" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Pasikartojantis serijinis numeris" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Neteisinga grupė: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Grupės {group} kiekis viršija leistiną kiekį ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Serijos numerių nerasta" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Pašalinkite HTML žymes iš šios reikšmės" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Duomenyse yra draudžiamo „markdown“ turinio" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Ryšio klaida" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Serveris grąžino netinkamą būsenos kodą" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Įvyko išimtis" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Serveris grąžino neteisingą „Content-Length“ reikšmę" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Paveikslėlio dydis per didelis" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Paveikslėlio atsisiuntimas viršijo maksimalų leistiną dydį" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Nutolęs serveris grąžino tuščią atsakymą" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Nurodytas URL nėra tinkamas paveikslėlio failas" @@ -280,7 +284,7 @@ msgstr "Neteisingas pasirinkimas" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Pavadinimas" @@ -288,7 +292,7 @@ msgstr "Pavadinimas" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Serveris užfiksavo klaidą." msgid "Image" msgstr "Paveikslėlis" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Turi būti teisingas skaičius" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Valiuta" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Pasirinkite valiutą iš galimų variantų" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Neteisinga reikšmė" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Kopijuoti parametrus" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Kopijuoti eilutes" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Kopijuoti eilutės įrašus iš pradinio užsakymo" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Kopijuoti papildomas eilutes" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Kopijuoti papildomas eilutes iš pradinio užsakymo" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Pirminė gamyba" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Įtraukti variantus" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Įtraukti variantus" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Įtraukti variantus" msgid "Part" msgstr "Detalė" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Kategorija" @@ -650,11 +654,11 @@ msgstr "Priskirta man" msgid "Assigned To" msgstr "Priskirta" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Sukurta prieš" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Sukurta po" @@ -706,18 +710,18 @@ msgstr "Neįtraukti medžio struktūros" msgid "Build must be cancelled before it can be deleted" msgstr "Prieš ištrinant gamybą, ji turi būti atšaukta" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Sunaudojama" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Pasirinktinai" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Surinkimas" @@ -725,7 +729,7 @@ msgstr "Surinkimas" msgid "Tracked" msgstr "Sekama" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Testuojama" @@ -733,12 +737,12 @@ msgstr "Testuojama" msgid "Order Outstanding" msgstr "Liko neįvykdytų užsakymų" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Priskirta" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "Prieinama" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Gamybos užsakymas" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "Tikslinė data turi būti po pradžios datos" msgid "Build Order Reference" msgstr "Gamybos užsakymo nuoroda" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Pardavimo užsakymo nuoroda" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Šaltinio vieta" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Šios gamybos partijos kodas" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Sukūrimo data" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Vartotojas, kuris išdavė šį gamybos užsakymą" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Atsakingas" @@ -965,7 +969,7 @@ msgstr "Vartotojas ar grupė, atsakinga už šį gamybos užsakymą" msgid "External Link" msgstr "Išorinė nuoroda" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Nuoroda į išorinį URL" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Gamybos objektas" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Gamybos elementas turi nurodyti rezultatą, nes pagrindinė detalė pažymėta kaip sekama" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "Pasirinktas atsargų elementas neatitinka BOM eilutės" @@ -1118,11 +1122,11 @@ msgstr "Priskirtas kiekis ({q}) negali viršyti galimo atsargų kiekio ({a})" msgid "Stock item is over-allocated" msgstr "Atsargų elementas per daug paskirstytas" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Atsargų elementas" @@ -1151,7 +1155,7 @@ msgstr "Gamybos lygis" msgid "Part Name" msgstr "Detalės pavadinimas" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Gamybos rezultatas" @@ -1204,12 +1208,12 @@ msgstr "Automatiškai priskirti serijos numerius" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatiškai priskirti reikalingas prekes su atitinkančiais serijos numeriais" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "Šie serijos numeriai jau egzistuoja arba yra neteisingi" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Turi būti pateiktas gamybos rezultatų sąrašas" @@ -1233,304 +1237,309 @@ msgstr "Priežastis, dėl kurios gamybos rezultatas(-ai) buvo nurašytas(-i)" msgid "Location for completed build outputs" msgstr "Vieta, kur laikomi užbaigti gamybos rezultatai" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Priimti nepilną priskyrimą" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "Užbaigti rezultatus, net jei atsargos dar nėra pilnai priskirtos" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Sunaudoti priskirtas atsargas" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "Sunaudoti bet kokias šiai gamybai jau priskirtas atsargas" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Pašalinti nebaigtus rezultatus" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "Ištrinti visus nebaigtus gamybos rezultatus" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Neleidžiama" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Priimti kaip sunaudotą šio gamybos užsakymo metu" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Panaikinkite priskyrimus prieš užbaigiant šį gamybos užsakymą" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Per daug paskirstytos atsargos" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Kaip norite elgtis su papildomai šiam gamybos užsakymui priskirtomis atsargomis" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Kai kurios atsargos paskirstytos per daug" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Priimti nepriskirtą" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Priimti, kad atsargos nebuvo visiškai priskirtos šiam gamybos užsakymui" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Reikalingos atsargos nėra visiškai priskirtos" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Priimti nepilną" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "Priimti, kad ne visi reikalingi gamybos rezultatai buvo užbaigti" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Reikalingas gamybos kiekis nebuvo užbaigtas" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "Gamybos užsakymas turi nebaigtų antrinių gamybų" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "Gamybos užsakymas turi būti gamybos būsenoje" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Gamybos užsakymas turi nebaigtų rezultatų" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Gamybos eilutė" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Gamybos rezultatas" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "Gamybos rezultatas turi būti susietas su ta pačia gamyba" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Gamybos eilutės įrašas" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part turi būti ta pati detalė kaip ir gamybos užsakyme" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Prekė turi būti atsargose" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "Sekamų detalių priskyrymui turi būti nurodytas gamybos rezultatas" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Negalima nurodyti gamybos rezultato nesekamoms detalėms" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Turi būti pateikti paskirstymo elementai" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Atsargų vieta, iš kurios bus imamos detalės (palikite tuščią, jei tinka bet kuri vieta)" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Neįtraukti vietos" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Neįtraukti atsargų iš šios pasirinktos vietos" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Keičiamos atsargos" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Atsargos iš skirtingų vietų gali būti naudojamos pakaitomis" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Pakaitinės atsargos" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Leisti priskirti pakaitines detales" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Pasirenkami elementai" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Priskirti papildomus BOM elementus gamybos užsakymui" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "BOM nuoroda" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "BOM detalės ID" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "BOM detalės pavadinimas" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Gamyba" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Tiekėjo detalė" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Priskirtas kiekis" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Gamybos nuoroda" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Detalės kategorijos pavadinimas" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Sekama" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Paveldėta" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Leisti variantus" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "BOM elementas" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "Gamyboje" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Išorinės atsargos" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Prieinamos atsargos" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Prieinamos pakaitinės atsargos" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Prieinamos variantų atsargos" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "Sulaikyta" msgid "Cancelled" msgstr "Atšaukta" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Nepateikta jokių galiojančių valiutos kodų" msgid "No plugin" msgstr "Nėra papildinio" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Projekto aprašymas" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktyvus" @@ -1716,7 +1725,7 @@ msgstr "Raktas turi būti unikalus" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Pavadinimas" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Nuoroda" @@ -1896,7 +1905,7 @@ msgstr "Apibrėžimas" msgid "Unit definition" msgstr "Vieneto apibrėžimas" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Priedas" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "Loginis būsenos raktas, atitinkantis šią pasirinkitinę būseną" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Reikšmė" @@ -2098,7 +2107,7 @@ msgstr "Pasirinkimų sąrašo pavadinimas" msgid "Description of the selection list" msgstr "Pasirinkimų sąrašo aprašymas" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Užrakinta" @@ -2206,7 +2215,7 @@ msgstr "Žymimojo laukelio parametrai negali turėti matavimo vienetų" msgid "Checkbox parameters cannot have choices" msgstr "Žymimojo laukelio parametrai negali turėti pasirinkimų" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Pasirinkimai turi būti unikalūs" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "Parametro pavadinimas" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Vienetai" @@ -2242,7 +2251,7 @@ msgstr "Žymimasis laukelis" msgid "Is this parameter a checkbox?" msgstr "Ar šis parametras yra žymimasis laukelis?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Pasirinkimai" @@ -2254,7 +2263,7 @@ msgstr "Galimi pasirinkimai šiam parametrui (atskirti kableliais)" msgid "Selection list for this parameter" msgstr "Pasirinkimų sąrašas šiam parametrui" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Įjungta" @@ -2308,7 +2317,7 @@ msgstr "Šablonas" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Data" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Parametro reikšmė" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Brūkšninio kodo duomenys" msgid "User who scanned the barcode" msgstr "Vartotojas, nuskaitęs brūkšninį kodą" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Laiko žymė" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "Atsako duomenys iš brūkšninio kodo nuskaitymo" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Rezultatas" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Failo pavadinimas" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Modelio tipas" @@ -3008,7 +3017,7 @@ msgstr "Detalės pagal nutylėjimą yra šablonai" msgid "Parts can be assembled from other components by default" msgstr "Detalės pagal nutylėjimą gali būti surenkamos iš kitų komponentų" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Komponentas" @@ -3017,7 +3026,7 @@ msgstr "Komponentas" msgid "Parts can be used as sub-components by default" msgstr "Detalės pagal nutylėjimą gali būti naudojamos kaip sub-komponentai" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Galima įsigyti" @@ -3025,7 +3034,7 @@ msgstr "Galima įsigyti" msgid "Parts are purchaseable by default" msgstr "Detalės pagal nutylėjimą gali būti įsigyjamos" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Parduodama" @@ -3037,7 +3046,7 @@ msgstr "Detalės pagal nutylėjimą gali būti parduodamos" msgid "Parts are trackable by default" msgstr "Detalės pagal nutylėjimą gali būti sekamos" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtuali" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Gamintojas" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Įmonė" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Nuoroda į adreso informaciją (išorinė)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Gamintojo detalė" @@ -4574,7 +4583,7 @@ msgstr "Susieta gamintojo detalė turi nurodyti tą pačią pagrindinę detalę" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Tiekėjas" @@ -4610,11 +4619,11 @@ msgstr "Išorinės nuorodos į tiekėjo detalės URL" msgid "Supplier part description" msgstr "Tiekėjo detalės aprašymas" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "bazinė kaina" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimalus mokestis (pvz., sandėliavimo mokestis)" @@ -4635,7 +4644,7 @@ msgstr "Pakuotės kiekis" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Bendras kiekis vienoje pakuotėje. Palikite tuščią, jei prekė tiekiama po vieną." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "daugiklis" @@ -4731,152 +4740,152 @@ msgstr "Pateiktas" msgid "Invalid status code" msgstr "Neteisingas būsenos kodas" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Duomenų failas" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "Duomenų failas, kurį reikia importuoti" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Stulpeliai" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "Importavimo sesijos tikslinio modelio tipas" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "Importavimo būsena" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Laukų numatytosios reikšmės" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "Laukų perrašymai" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Laukų filtrai" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Kai kurie privalomi laukai nėra susieti" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "Šis stulpelis jau yra susietas su duomenų bazės lauku" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "Šis laukas jau yra susietas su duomenų stulpeliu" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "Stulpelių susiejimas turi būti susietas su galiojančia importavimo sesija" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "Stulpelis neegzistuoja duomenų faile" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "Laukas neegzistuoja tiksliniame modelyje" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "Pasirinktas laukas yra tik skaitomas" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Importavimo sesija" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Laukas" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Stulpelis" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Eilutės indeksas" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Pradiniai eilutės duomenys" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Klaidos" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Galiojantis" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Nepalaikomas duomenų failo formatas" @@ -4884,7 +4893,11 @@ msgstr "Nepalaikomas duomenų failo formatas" msgid "Failed to open data file" msgstr "Nepavyko atidaryti duomenų failo" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Neteisingi duomenų failo matmenys" @@ -5692,7 +5705,7 @@ msgstr "Kiekis turi būti 1, jei prekė turi serijos numerį" msgid "Sales order does not match shipment" msgstr "Pardavimo užsakymas nesutampa su siunta" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "Siunta nesutampa su pardavimo užsakymu" @@ -5908,7 +5921,7 @@ msgstr "Sujungti elementus su ta pačia detale, paskirtimi ir tiksline data į v msgid "SKU" msgstr "SKU" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Vidinis detalės numeris" @@ -6176,7 +6189,7 @@ msgstr "Pažymėta žvaigždute" msgid "Filter by starred categories" msgstr "Filtruoti pagal pažymėtas kategorijas" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Gylis" @@ -6184,7 +6197,7 @@ msgstr "Gylis" msgid "Filter by category depth" msgstr "Filtruoti pagal kategorijos gylį" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Aukščiausio lygio" @@ -6192,7 +6205,7 @@ msgstr "Aukščiausio lygio" msgid "Filter by top-level categories" msgstr "Filtruoti pagal aukščiausio lygio kategorijas" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "Kaskada" @@ -6212,11 +6225,11 @@ msgstr "Filtruoti pagal pirminę kategoriją" msgid "Exclude sub-categories under the specified category" msgstr "Neįtraukti sub-kategorijų po nurodyta kategorija" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "Naudoja" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Detalių kategorija" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Detalių kategorijos" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Numatytoji vieta" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Numatytoji vieta detalėms šioje kategorijoje" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Struktūrinė" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Detalės negali būti priskirtos struktūrinei kategorijai tiesiogiai, bet gali būti priskirtos jos subkategorijoms." -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Numatytieji raktažodžiai" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Numatytieji raktažodžiai detalėms šioje kategorijoje" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Piktograma" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Piktograma (neprivaloma)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Negalite paversti šios detalių kategorijos struktūrine, nes kai kurios detalės jau jai priskirtos!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "Detalių kategorijos parametro šablonas" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Numatytoji reikšmė" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Numatytoji parametro reikšmė" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Detalės" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "Negalima ištrinti šios detalės, nes ji užrakinta" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "Negalima ištrinti šios detalės, nes ji vis dar aktyvi" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "Negalima ištrinti šios detalės, nes ji naudojama sirinkime" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Detalė „{self}“ negali būti naudojama detalių sąraše „{parent}“ (rekursyviai)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Detalė „{parent}“ naudojama detalių sąraše „{self}“ (rekursyviai)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN turi atitikti regex šabloną {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "Detalė negali būti savo pačios versija" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "Versijos leidžiamos tik surinkimo detalėms" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "Negalima sukurti šabloninės detalės versijos" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "Pagrindinė detalė turi būti susieta su tuo pačiu šablonu" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "Atsargų elementas su šiuo serijos numeriu jau egzistuoja" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dublikatų detalių nustatymuose naudoti negalima" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "Tokia detalės versija jau egzistuoja." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Detalė su tokiu pavadinimu, IPN ir versija jau egzistuoja." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Detalės negali būti priskirtos struktūrinėms detalių kategorijoms!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Detalės pavadinimas" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Yra šablonas" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Ar ši detalė yra šabloninė detalė?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Ar ši detalė yra kitos detalės variantas?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Variantas iš" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Detalės aprašymas (neprivalomas)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Raktažodžiai" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Detalės raktažodžiai, skirti pagerinti matomumą paieškos rezultatuose" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Detalės kategorija" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Detalės versija arba numeris" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Versija" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "Ar ši detalė yra kitos detalės versija?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Versija iš" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Kur ši detalė paprastai laikoma?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Numatytasis galiojimo laikas" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "Šios detalės atsargų galiojimo laikas (dienomis)" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Minimalus atsargų kiekis" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Mažiausias leidžiamas atsargų kiekis" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Šios detalės matavimo vienetai" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Ar ši detalė gali būti pagaminta iš kitų detalių?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "Ar ši detalė gali būti naudojama kitoms detalėms gaminti?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Ar ši detalė turi unikalių vienetų sekimą?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "Ar šiai detalei gali būti priskirti bandymų rezultatai?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Ar ši detalė gali būti perkama iš išorinių tiekėjų?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Ar ši detalė gali būti parduodama klientams?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Ar ši detalė yra aktyvi?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Užrakintos detalės negali būti redaguojamos" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ar tai virtuali detalė, pavyzdžiui, programinė įranga ar licencija?" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "BOM kontrolinė suma" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Išsaugota BOM kontrolinė suma" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "Detalių sąrašą patikrino" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Detalių sąrašo patikrinimo data" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Sukūręs vartotojas" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Atsakingas vartotojas už šią detalę" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Parduodamas kiekis" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Valiuta, naudojama kainų skaičiavimams kaupti" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Minimali BOM kaina" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Minimali komponentų detalių kaina" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Maksimali BOM kaina" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Maksimali komponentų detalių kaina" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Minimali pirkimo kaina" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Mažiausia istorinė pirkimo kaina" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Maksimali pirkimo kaina" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Didžiausia istorinė pirkimo kaina" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Minimali vidinė kaina" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Mažiausia kaina pagal vidinius kainų intervalus" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Maksimali vidinė kaina" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Didžiausia kaina pagal vidinius kainų intervalus" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Mažiausia tiekėjo kaina" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Mažiausia detalės kaina iš išorinių tiekėjų" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Didžiausia tiekėjo kaina" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Didžiausia detalės kaina iš išorinių tiekėjų" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Mažiausia varianto kaina" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Apskaičiuota minimali variantų detalių kaina" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Didžiausia varianto kaina" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Apskaičiuota didžiausia variantų detalių kaina" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Minimali kaina" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Nepaisyti minimalios kainos" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Maksimali kaina" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Nepaisyti maksimalios kainos" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Apskaičiuota bendra minimali kaina" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Apskaičiuota bendra maksimali kaina" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Minimali pardavimo kaina" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Mažiausia pardavimo kaina pagal kainų intervalus" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Didžiausia pardavimo kaina" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Didžiausia pardavimo kaina pagal kainų intervalus" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Mažiausia pardavimo kaina" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Mažiausia istorinė pardavimo kaina" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Didžiausia pardavimo kaina" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Didžiausia istorinė pardavimo kaina" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Detalė inventorizacijai" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Vienetų skaičius" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Atsargų įrašų skaičius inventorizacijos metu" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Bendras prieinamas atsargų kiekis inventorizacijos metu" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Data" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Inventorizacijos atlikimo data" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Minimali atsargų kaina" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Apytikslė minimali turimų atsargų kaina" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Maksimali atsargų kaina" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Apytikslė maksimali turimų atsargų kaina" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "Detalės kainų intervalai pardavimui" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "Detalės bandymų šablonas" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Netinkamas šablono pavadinimas - turi būti bent vienas raidinis ar skaitinis simbolis" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Bandymų šablonus galima kurti tik testuojamoms detalėms" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "Detalė jau turi bandymų šabloną su tokiu pačiu raktu" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Bandymo pavadinimas" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Įveskite bandymo pavadinimą" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "Bandymo raktas" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Supaprastintas bandymo raktas" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Bandymo aprašymas" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Įveskite šio bandymo aprašymą" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "Ar šis bandymas įjungtas?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Privalomas" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Ar šį bandymą būtina išlaikyti?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Reikalauja reikšmės" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "Ar šiam bandymui reikia įvesti reikšmę pridedant rezultatą?" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Reikalauja priedo" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "Ar šiam bandymui reikia pridėti failą su rezultatu?" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "Galimi pasirinkimai šiam bandymui (atskirti kableliais)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "BOM elemento keisti negalima - surinkimas užrakintas" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "BOM elemento keisti negalima - varianto surinkimas užrakintas" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Pasirinkite pirminę detalę" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Pavaldi detalė" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Pasirinkite detalę, naudojamą BOM" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "BOM reikalingas šios detalės kiekis" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Šis BOM elementas yra pasirenkamas" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Šis BOM elementas yra sunaudojamas (nesekamas gamybos užsakymuose)" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "BOM nuoroda" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "BOM pastabos" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Kontrolinė suma" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "BOM eilutės kontrolinė suma" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Patvirtinta" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Šis BOM elementas patvirtintas" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Paveldima" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Šį BOM elementą paveldi variantų sąrašai" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Šiam BOM elementui galima naudoti variantinių detalių atsargas" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "Sekamoms detalėms kiekis turi būti sveikasis skaičius" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Turi būti nurodyta pavaldi detalė" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "BOM elemento pakaitalas" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "Pakaitinė detalė negali būti tokia pati kaip pagrindinė detalė" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Pagrindinis BOM elementas" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Pakaitinė detalė" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Detalė 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Detalė 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Pasirinkite susijusią detalę" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Pastaba šiam ryšiui" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "Detalių ryšio negalima sukurti tarp detalės ir jos pačios" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Toks ryšys jau egzistuoja" @@ -7375,41 +7388,41 @@ msgstr "Kopijuoti pakaitines detales" msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopijuoti pakaitines detales, kai kopijuojami BOM elementai" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Perspėjimas apie mažas atsargas" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Galimas atsargų kiekis detalei {part.name} nukrito žemiau nustatyto minimalaus lygio" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "Modelio egzempliorius nerastas" msgid "Barcode matches existing item" msgstr "Brūkšninis kodas atitinka esamą elementą" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Atitinkančių detalės duomenų nerasta" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Tiekėjo detalių atitikmenų nerasta" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Rastos kelios atitinkančios tiekėjo detalės" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "Brūkšninio kodo duomenims atitinkančio įskiepio nerasta" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Atitinkanti tiekėjo detalė" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "Prekė jau buvo priimta" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "Tiekėjo brūkšniniam kodui įskiepis nerastas" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Rasti keli atitinkantys eilutės įrašai" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Atitinkančios eilutės įrašo nerasta" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Nepateiktas pardavimo užsakymas" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "Brūkšninis kodas neatitinka jokio esamo atsargų elemento" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "Atsargų elementas neatitinka eilutės įrašo" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Nepakanka atsargų" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Atsargų elementas priskirtas pardavimo užsakymui" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Nepakanka informacijos" @@ -8589,19 +8610,19 @@ msgstr "Neleistini etiketės matmenys" msgid "No valid items provided to template" msgstr "Šablonui nepateikti galimi elementai" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Legal" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Letter" @@ -8890,196 +8911,196 @@ msgstr "Nėra rezultato" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Paveikslėlio failas nerastas" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "Žyma part_image reikalauja detalės (Part) egzemplioriaus" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "Žyma company_image reikalauja įmonės (Company) egzemplioriaus" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "Filtruoti pagal vietos gylį" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "Filtruoti pagal aukščiausio lygio vietas" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "Įtraukti sub-vietas į filtravimo rezultatus" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Pirminė vieta" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Filtruoti pagal pirminę vietą" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Detalės pavadinimas (neskiria didžiųjų ir mažųjų raidžių)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "Detalės pavadinimas turi (neskiria didžiųjų ir mažųjų raidžių)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Detalės pavadinimas (reguliarioji išraiška)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "Detalės IPN (neskiria didžiųjų ir mažųjų raidžių)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "Detalės IPN turi (neskiria didžiųjų ir mažųjų raidžių)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "Detalės IPN (reguliarioji išraiška)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Mažiausias kiekis" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Didžiausias kiekis" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Būsenos kodas" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Išorinė vieta" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "Sunaudota gamybos užsakyme" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "Sumontuota kitame atsargų elemente" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Detalių medis" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "Atnaujinta iki" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Atnaujinta po" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "Inventorizacija iki" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "Inventorizacija po" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Galiojimo data iki" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Galiojimo data po" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Pasenusi" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Reikalingas kiekis" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Turi būti pateikta galiojanti detalė" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "Nurodyta tiekėjo detalė neegzistuoja" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Tiekėjo detalė turi nustatytą pakuotės dydį, bet nepažymėtas požymis use_pack_size" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serijos numeriai negali būti pateikti detalei, kurios negalima sekti" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "Serijos numeriai turi būti pateikti sąraše" msgid "Quantity does not match serial numbers" msgstr "Kiekis nesutampa su serijos numeriais" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "Bandomasis šablonas neegzistuoja" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "Atsargų elementas buvo priskirtas pardavimo užsakymui" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Atsargų elementas sumontuotas kitame elemente" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "Atsargų elementas turi kitų elementų" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Atsargų elementas buvo priskirtas klientui" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "Atsargų elementas šiuo metu gaminamas" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Su serijos numeriais pažymėtų atsargų sujungti negalima" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Pasikartojantys atsargų elementai" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Atsargų elementai turi būti susiję su ta pačia detale" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "Atsargų elementai turi būti susiję su ta pačia tiekėjo detale" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Atsargų būsenos kodai turi sutapti" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "Atsargų elemento negalima perkelti, nes jo nėra sandėlyje" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "Atsargų elemento sekimas" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Įrašo pastabos" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "Atsargų elemento bandymo rezultatas" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Šiam bandymui turi būti pateikta reikšmė" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "Šiam bandymui turi būti įkeltas priedas" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "Netinkama reikšmė šiam bandymui" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Bandymo rezultatas" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Bandymo išvesties reikšmė" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Bandymo rezultato priedas" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Bandymo pastabos" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "Bandymų stotis" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "Bandymų stoties identifikatorius, kurioje atliktas bandymas" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "Pradėta" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "Bandymo pradžios laiko žyma" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Pabaigta" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "Bandymo pabaigos laiko žyma" @@ -9617,11 +9638,6 @@ msgstr "Montuojamas kiekis negali viršyti turimo kiekio" msgid "Destination location for uninstalled item" msgstr "Paskirties vieta išmontuotam elementui" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Atsargų elemento būsenos kodas" diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index c622adec3b..1230d06aa2 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Nevarēja konvertēt {original} par {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Norādītais daudzums nav derīgs" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Vērtība '{name}' neparādās vajadzīgajā formātā" msgid "Provided value does not match required pattern: " msgstr "Norādītā vērtība neatbilst nepieciešamajam formātam: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Tukša sērijas numura rinda" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Atkārtojas sērijas numurs" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Netika atrasts neviens sērijas numurs" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Noņemiet HTML tagus no šīs vērtības" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Savienojuma kļūda" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Serveris atbildēja ar nederīgu statusa kodu" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Radās izņēmums" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Serveris atbildēja ar nederīgu Content-Length vērtību" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Attēla izmērs ir pārāk liels" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Attēla lejupielāde pārsniedz maksimālo izmēru" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Attālais serveris atgrieza tukšu atbildi" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Norādītajā URL nav derīgs attēla fails" @@ -280,7 +284,7 @@ msgstr "" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "" @@ -288,7 +292,7 @@ msgstr "" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "" @@ -725,7 +729,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -965,7 +969,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2308,7 +2317,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "" @@ -3017,7 +3026,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 2258af0c5e..7e3a0e7065 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "{original} kon niet worden omgezet naar {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Error details kunnen worden gevonden in het admin scherm" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Ongeldige decimale waarde" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Waarde '{name}' verschijnt niet in patroonformaat" msgid "Provided value does not match required pattern: " msgstr "Opgegeven waarde komt niet overeen met vereist patroon: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Kan niet meer dan 1000 items tegelijk serienummers geven." -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Leeg serienummer" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Duplicaat serienummer" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Ongeldige groep: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Groepsbereik {group} overschrijdt toegestane hoeveelheid ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Geen serienummers gevonden" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "Hoeveelheid van unieke serienummers ({n}) moet overeenkomen met de hoeveelheid ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Verwijder HTML tags van deze waarde" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Gegevens bevatten verboden markdown inhoud" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "Ongeldige URL: geen hostnaam" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "Ongeldige URL: hostnaam kon niet worden opgelost" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "URL-punten naar een privé of gereserveerd IP-adres" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "Te veel doorverwijzingen" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Verbindingsfout" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Server reageerde met ongeldige statuscode" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Uitzondering opgetreden" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Server reageerde met ongeldige Content-Length waarde" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Afbeeldingsformaat is te groot" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Beelddownload overschrijdt de maximale grootte" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Externe server heeft lege reactie teruggegeven" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" @@ -280,7 +284,7 @@ msgstr "Ongeldige keuze" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Naam" @@ -288,7 +292,7 @@ msgstr "Naam" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Er is een fout gelogd door de server." msgid "Image" msgstr "Afbeelding" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Selecteer valuta uit beschikbare opties" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "Dit veld mag niet nul zijn." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "Ongeldig inhoudstype" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "Inhoudstype niet gevonden" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "Content type komt niet overeen met de vereiste mixin klasse" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Kopieer regels" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Kopieer regelitems uit de oorspronkelijke bestelling" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Extra regels kopiëren" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Extra regelitems van de oorspronkelijke bestelling kopiëren" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Bovenliggende Productie" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Inclusief varianten" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Inclusief varianten" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Inclusief varianten" msgid "Part" msgstr "Onderdeel" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Categorie" @@ -650,11 +654,11 @@ msgstr "Toegewezen aan mij" msgid "Assigned To" msgstr "Toegewezen aan" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Gemaakt voor" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Gemaakt na" @@ -706,18 +710,18 @@ msgstr "Boomstructuur uitsluiten" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Optioneel" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Samenstelling" @@ -725,7 +729,7 @@ msgstr "Samenstelling" msgid "Tracked" msgstr "Gevolgd" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Testbaar" @@ -733,12 +737,12 @@ msgstr "Testbaar" msgid "Order Outstanding" msgstr "Openstaande order" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Toegewezen" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Verbruikt" @@ -749,7 +753,7 @@ msgstr "Verbruikt" msgid "Available" msgstr "Beschikbaar" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Productieorder" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "Doeldatum moet na startdatum zijn" msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Verkooporder Referentie" msgid "Sales Order to which this build is allocated" msgstr "Productieopdracht waar dit productie aan is toegewezen" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Bronlocatie" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Aanmaakdatum" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Verantwoordelijke" @@ -965,7 +969,7 @@ msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" msgid "External Link" msgstr "Externe Link" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "Kan een build uitvoer niet gedeeltelijk voltooien met de toegewezen item #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Bouw object" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "Aantal van verbruikte voorraad" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" @@ -1118,11 +1122,11 @@ msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet over msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Voorraadartikel" @@ -1151,7 +1155,7 @@ msgstr "Bouw level" msgid "Part Name" msgstr "Onderdeel naam" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Productieuitvoer" @@ -1204,12 +1208,12 @@ msgstr "Serienummers automatisch toewijzen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" @@ -1233,304 +1237,309 @@ msgstr "Reden voor annulering van bouworder(s)" msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Toegewezen voorraad gebruiken" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "Verbruik elke voorraad die al is toegewezen aan deze build" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Niet toegestaan" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Accepteer zoals geconsumeerd onder deze bouwopdracht" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "De-alloceren voordat deze bouwopdracht voltooid wordt" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Overgealloceerde voorraad" -#: build/serializers.py:711 +#: build/serializers.py:720 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:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Sommige voorraadartikelen zijn overalloceerd" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "Bouw opdracht heeft open sub bouw orders" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "Bouwen moet in de productiestatus staan" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Productielijn" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Bouw lijn-item" -#: build/serializers.py:881 +#: build/serializers.py:890 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:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:963 +#: build/serializers.py:972 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:971 +#: build/serializers.py:980 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:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Optionele Items" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Alloceer optionele BOM items om bestelling te bouwen" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "Alle artikelen" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "Niet Gevolgde items" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "Gevolgde Items" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "Item Type" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "Selecteer item type om automatisch toe te wijzen" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "Voorraad prioriteit" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "BOM referentie" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "BOM onderdeel ID" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "BOM onderdeel naam" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "Instaleeren Op" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Bouwen" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Leveranciersonderdeel" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Toegewezen hoeveelheid" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Bouw referentie" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Naam categorie onderdeel" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Volgbaar" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Overgenomen" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Varianten toestaan" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Stuklijstartikel" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "In productie" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "Gepland om te bouwen" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Externe voorraad" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Beschikbare Voorraad" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Beschikbare vervanging voorraad" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Beschikbare varianten voorraad" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "Verbruikte hoeveelheid overschrijdt toegewezen hoeveelheid" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "Optionele notities voor voorraadverbruik" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "Het bouwelement moet verwijzen naar de juiste bouwopdracht" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "Dupliceer build item allocatie" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "Build line moet verwijzen naar de juiste bouwopdracht" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "Dupliceer build line toewijzing" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "Ten minste één item of regel moet worden opgegeven" @@ -1555,7 +1564,7 @@ msgstr "In de wacht" msgid "Cancelled" msgstr "Geannuleerd" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Geen geldige valuta codes opgegeven" msgid "No plugin" msgstr "Geen plug-in gevonden" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "Tags" @@ -1667,8 +1676,8 @@ msgstr "Projectbeschrijving" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Actief" @@ -1716,7 +1725,7 @@ msgstr "Sleutelreeks moet uniek zijn" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Titel" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Koppeling" @@ -1896,7 +1905,7 @@ msgstr "Definitie" msgid "Unit definition" msgstr "Definitie van eenheid" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Bijlage" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "Staat logische sleutel die gelijk is aan deze staat in zakelijke logica" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Waarde" @@ -2098,7 +2107,7 @@ msgstr "Naam van de selectielijst" msgid "Description of the selection list" msgstr "Beschrijving van de selectielijst" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Vergrendeld" @@ -2206,7 +2215,7 @@ msgstr "Checkbox parameters kunnen geen eenheden bevatten" msgid "Checkbox parameters cannot have choices" msgstr "Checkbox parameters kunnen geen eenheden bevatten" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Keuzes moeten uniek zijn" @@ -2222,7 +2231,7 @@ msgstr "Doelmodeltype voor dit parametersjabloon" msgid "Parameter Name" msgstr "Parameternaam" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Eenheden" @@ -2242,7 +2251,7 @@ msgstr "Selectievakje" msgid "Is this parameter a checkbox?" msgstr "Is deze parameter een selectievak?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Keuzes" @@ -2254,7 +2263,7 @@ msgstr "Geldige keuzes voor deze parameter (komma gescheiden)" msgid "Selection list for this parameter" msgstr "Lijst met selecties voor deze parameter" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Ingeschakeld" @@ -2308,7 +2317,7 @@ msgstr "Sjabloon" msgid "Parameter template" msgstr "Parameter sjabloon" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Gegevens" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Parameterwaarde" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Barcode gegevens" msgid "User who scanned the barcode" msgstr "Gebruiker die de barcode gescand heeft" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Tijdstempel" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "Reactiegegevens van de barcode scan" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Resultaat" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Bestandsnaam" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Model type" @@ -3008,7 +3017,7 @@ msgstr "Onderdelen zijn standaard sjablonen" msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Onderdeel" @@ -3017,7 +3026,7 @@ msgstr "Onderdeel" msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Koopbaar" @@ -3025,7 +3034,7 @@ msgstr "Koopbaar" msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Verkoopbaar" @@ -3037,7 +3046,7 @@ msgstr "Onderdelen kunnen standaard verkocht worden" msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtueel" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Fabrikant" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Bedrijf" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Link naar adres gegevens (extern)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" @@ -4574,7 +4583,7 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Leverancier" @@ -4610,11 +4619,11 @@ msgstr "URL voor link externe leveranciers onderdeel" msgid "Supplier part description" msgstr "Omschrijving leveranciersdeel" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "basisprijs" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" @@ -4635,7 +4644,7 @@ msgstr "Pakket hoeveelheid" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totale hoeveelheid geleverd in één pakket. Laat leeg voor enkele afzonderlijke items." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "meerdere" @@ -4731,152 +4740,152 @@ msgstr "Geplaatst" msgid "Invalid status code" msgstr "Ongeldige statuscode" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Data bestand" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "Te importeren databestand" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Kolommen" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "Doel modeltype voor deze importsessie" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "Status van importeren" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Veld standaard" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "Veld overschrijven" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Veld filters" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "Bestaande Records Bijwerken" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "Indien ingeschakeld, zullen bestaande records worden bijgewerkt met nieuwe gegevens" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Sommige verplichte velden zijn niet toegewezen" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "Bestaande database-identifier voor het record" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "De kolom is al toegewezen aan een database veld" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "Het veld is al toegewezen aan een data-kolom" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "Kolom toewijzing moet worden gekoppeld aan een geldige importsessie" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "Kolom bestaat niet in het gegevensbestand" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "Veld bestaat niet in het doel model" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "Geselecteerde veld is alleen lezen" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Importeer sessie" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Veld" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Kolom" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Rij index" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Oorspronkelijke rij gegevens" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Fouten" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Geldig" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "Geen record gevonden met het opgegeven ID" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "Ongeldig ID formaat opgegeven" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "ID is vereist voor het bijwerken van bestaande records." -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Niet ondersteunde gegevens bestandsindeling" @@ -4884,7 +4893,11 @@ msgstr "Niet ondersteunde gegevens bestandsindeling" msgid "Failed to open data file" msgstr "Kan het databestand niet openen" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Ongeldige afmetingen van gegevensbestand" @@ -5692,7 +5705,7 @@ msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" @@ -5909,7 +5922,7 @@ msgstr "Items met hetzelfde onderdeel, bestemming en doeldatum samenvoegen in é msgid "SKU" msgstr "SKU" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" @@ -6177,7 +6190,7 @@ msgstr "Favoriet" msgid "Filter by starred categories" msgstr "Filter op categorieën met ster" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Diepte" @@ -6185,7 +6198,7 @@ msgstr "Diepte" msgid "Filter by category depth" msgstr "Filteren op categorie diepte" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Hoogste niveau" @@ -6193,7 +6206,7 @@ msgstr "Hoogste niveau" msgid "Filter by top-level categories" msgstr "Filteren op topniveau categorieën" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "Stapelen" @@ -6213,11 +6226,11 @@ msgstr "Filter op bovenliggende categorie" msgid "Exclude sub-categories under the specified category" msgstr "Subcategorieën uitsluiten in de opgegeven categorie" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6297,722 +6310,722 @@ msgstr "Heeft beschikbare voorraad" msgid "Uses" msgstr "Gebruik" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Onderdeel Categorie" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Onderdeel Categorieën" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Standaard locatie" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Structureel" -#: part/models.py:120 +#: part/models.py:121 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:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Standaard trefwoorden" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Standaard trefwoorden voor delen in deze categorie" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Pictogram" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Pictogram (optioneel)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "U kunt deze voorraadlocatie niet structureel maken omdat sommige voorraadartikelen er al in liggen!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "Sjabloon categorie parameters onderdeel" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Standaard waarde" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Onderdelen" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "Kan parameters van een vergrendeld onderdeel niet verwijderen" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "Kan de parameters van een vergrendeld onderdeel niet wijzigen" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "Kan dit deel niet verwijderen omdat het vergrendeld is" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "Kan dit deel niet verwijderen omdat het nog actief is" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "Kan dit deel niet verwijderen omdat het in een groep gebruikt is" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "{self}' kan niet worden gebruikt in BOM voor '{parent}' (recursief)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "{parent}' wordt gebruikt in BOM voor '{self}' (recursief)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN moet overeenkomen met regex patroon {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "Onderdeel kan geen herziening van zichzelf zijn" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "Herzieningen zijn alleen toegestaan voor assemblageonderdelen" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "Kan geen revisie maken van een sjabloon onderdeel" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "Bovenliggend onderdeel moet naar dezelfde sjabloon verwijzen" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "Voorraadartikel met dit serienummer bestaat al" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "Dubbele IPN niet toegestaan in deelinstellingen" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "Dubbele onderdeel revisie bestaat al." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Onderdeel met deze naam, IPN en Revisie bestaat al." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Onderdelen kunnen niet worden toegewezen aan categorieën van structurele onderdelen!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Onderdeel naam" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Is een sjabloon" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Is dit deel van een sjabloon?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Is dit een variant van een ander deel?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Variant van" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Beschrijving (optioneel)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Sleutelwoorden" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Deel sleutelwoorden om de zichtbaarheid van de zoekresultaten te verbeteren" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Onderdeel revisie of versienummer" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Revisie" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "Is dit deel een herziening van een ander deel?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Revisie van" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Waar wordt dit item normaal opgeslagen?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Standaard verval datum" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "Verlooptijd (in dagen) voor voorraadartikelen van dit deel" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Minimum voorraad" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Minimaal toegelaten stock niveau" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Eenheden voor dit onderdeel" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Kan dit onderdeel uit andere delen worden gebouwd?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "Kan dit onderdeel gebruikt worden om andere onderdelen te bouwen?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Heeft dit onderdeel een tracking voor unieke items?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "Kunnen de testresultaten van dit onderdeel tegen dit onderdeel worden geregistreerd?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Kan dit onderdeel worden gekocht van externe leveranciers?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Kan dit onderdeel aan klanten worden verkocht?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Is dit onderdeel actief?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Vergrendelde onderdelen kunnen niet worden bewerkt" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "Is dit een virtueel onderdeel, zoals een softwareproduct of licentie?" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "Stuklijst BOM gecontroleerd" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "Is de BOM voor dit deel geldig?" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "BOM checksum" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Checksum van BOM opgeslagen" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "BOM gecontroleerd door" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "BOM gecontroleerd datum" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Aanmaken gebruiker" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Eigenaar verantwoordelijk voor dit deel" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Verkopen van meerdere" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Valuta die gebruikt wordt voor de cache berekeningen" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Minimale BOM kosten" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Minimale kosten van onderdelen" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Maximale BOM kosten" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Maximale kosten van onderdelen" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Minimale aankoop kosten" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Minimale historische aankoop kosten" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Maximale aanschaf kosten" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Maximum historische aankoop kosten" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Minimale interne prijs" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Minimale kosten op basis van interne prijsschommelingen" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Maximale interne prijs" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Maximale kosten gebaseerd op interne prijsvoordelen" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Minimale leverancier prijs" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Minimale prijs van onderdeel van externe leveranciers" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Maximale leverancier prijs" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Maximale prijs van onderdeel van externe leveranciers" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Minimale variant kosten" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Berekende minimale kosten van variant onderdelen" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Maximale variant kosten" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Berekende maximale kosten van variant onderdelen" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Minimale kostprijs" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Overschrijf minimale kosten" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Maximale kosten" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Overschrijf maximale kosten" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Berekende minimale kosten" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Berekende totale maximale kosten" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Minimale verkoop prijs" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Minimale verkoopprijs gebaseerd op prijsschommelingen" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Maximale verkoop prijs" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Maximale verkoopprijs gebaseerd op prijsschommelingen" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Minimale verkoop prijs" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Minimale historische verkoop prijs" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Maximale verkoop prijs" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Maximale historische verkoop prijs" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Onderdeel voor voorraadcontrole" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Getelde items" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Aantal individuele voorraadvermeldingen op het moment van voorraadcontrole" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Totale voorraad op het moment van voorraadcontrole" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Datum" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Datum waarop voorraad werd uitgevoerd" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Minimale voorraadprijs" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Geschatte minimum kosten van de voorraad op de hand" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Maximale voorraadkosten" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Geschatte maximale kosten van de hand van voorraad" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "Periodieke verkoopprijs voor onderdelen" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "Sjabloon test onderdeel" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Ongeldige sjabloonnaam - moet minstens één alfanumeriek teken bevatten" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Test sjablonen kunnen alleen worden gemaakt voor testbare onderdelen" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "Test template met dezelfde sleutel bestaat al voor een deel" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Test naam" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Geef een naam op voor de test" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "Test sleutel" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Vereenvoudigde sleutel voor de test" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Test beschrijving" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Voer beschrijving in voor deze test" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "Is deze test ingeschakeld?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Vereist" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Is deze test nodig om te doorlopen?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Waarde vereist" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "Heeft deze test een waarde nodig bij het toevoegen van een testresultaat?" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Vereist bijlage" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "Vereist deze test een bestandsbijlage bij het toevoegen van een testresultaat?" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "Geldige keuzes voor deze parameter (komma gescheiden)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "BOM item kan niet worden gewijzigd - assemblage is vergrendeld " -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "BOM item kan niet worden gewijzigd - assemblage is vergrendeld" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Selecteer boven liggend onderdeel" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Sub onderdeel" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Selecteer onderdeel dat moet worden gebruikt in BOM" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "BOM hoeveelheid voor dit BOM item" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Dit BOM item is optioneel" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Dit BOM item is verbruikbaar (het wordt niet bijgehouden in build orders)" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "Totale hoeveelheid" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Extra benodigde hoeveelheid voor een build, rekening houdend met verliezen van de setup" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "Attriatie" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Geschatte uitstraling voor een gebouw, uitgedrukt in percentage (0-100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "Afronden meerdere" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Afronden met omhoog vereiste productiehoeveelheid naar dichtstbijzijnde meerdere van deze waarde" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Artikelregel referentie" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "BOM item notities" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Controle som" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "BOM lijn controle som" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Goedgekeurd" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Dit BOM item is goedgekeurd" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Wordt overgenomen" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Dit BOM item wordt overgenomen door BOMs voor variant onderdelen" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Voorraaditems voor variant onderdelen kunnen worden gebruikt voor dit BOM artikel" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "Hoeveelheid moet een geheel getal zijn voor trackable onderdelen" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Onderdeel moet gespecificeerd worden" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "BOM Item vervangingen bewerken" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "Vervanging onderdeel kan niet hetzelfde zijn als het hoofddeel" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Bovenliggend BOM item" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Vervanging onderdeel" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Eerste deel" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Tweede deel" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Selecteer gerelateerd onderdeel" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Opmerking voor deze relatie" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "Onderdeel relatie kan niet worden gecreëerd tussen een deel en zichzelf" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Dubbele relatie bestaat al" @@ -7376,41 +7389,41 @@ msgstr "Verwijder vervangend deel" msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopieer vervangende onderdelen bij dubbele stuklijst BOM items" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Lage voorraad melding" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "De beschikbare voorraad voor {part.name} is onder het ingestelde minimumniveau gedaald" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "Lage voorraad melding" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "U heeft 1 voorraad product dat de vervaldatum nadert" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "U hebt {item_count} voorraaditems die hun vervaldatum naderen" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "Geen vervaldatum" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "{abs(days_diff)} dagen geleden" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "Verloopt vandaag" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry} dagen" @@ -7463,71 +7476,79 @@ msgstr "Model instantie niet gevonden" msgid "Barcode matches existing item" msgstr "Barcode komt overeen met bestaand item" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Geen overeenkomende actie gevonden" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Geen overeenkomende leveranciers onderdelen gevonden" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Meerdere overeenkomende leveranciers onderdelen gevonden" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "Geen overeenkomende plug-in gevonden voor barcode gegevens" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Overeenkomende leverancier onderdeel" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "Regel item is al ontvangen" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "Er komt geen plug-in overeen met de barcode van de leverancier" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Meerdere overeenkomende regelitems gevonden" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Geen overeenkomend voorraaditem gevonden" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Geen verkooporder opgegeven" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "Streepjescode komt niet overeen met een bestaand voorraadartikel" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "Voorraad item komt niet overeen met regelitem" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Voorraad item toegewezen aan verkooporder" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Te weinig informatie" @@ -8590,19 +8611,19 @@ msgstr "Ongeldige label afmetingen" msgid "No valid items provided to template" msgstr "Geen geldige items aan de template verstrekt" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Juridisch" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Brief" @@ -8891,196 +8912,196 @@ msgstr "Geen resultaat" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Afbeelding bestand niet gevonden" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "part_image tag vereist een onderdeel instantie" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "bedrijf_imagetag vereist een bedrijfsinstantie" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "Filter op locatie diepte" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "Filter op topniveau locaties" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "Inclusief sublocaties in gefilterde resultaten" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Bovenliggende locatie" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Filter op bovenliggende locatie" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Naam van onderdeel (hoofdletter ongevoelig)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "Naam van onderdeel bevat (hoofdletter ongevoelig)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Naam onderdeel (regex)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "Deel IPN (hoofdletter ongevoelig)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "Onderdeel IPN bevat (hoofdletter ongevoelig)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "Deel IPN (regex)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Minimale voorraad" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Maximale voorraad" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Status code" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Externe locatie" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "Verbruikt door productieorder" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "Geïnstalleerd in een ander voorraadartikel" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Boomstructuur onderdeel" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "Eerder bijgewerkt" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Bijgewerkt na" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "Voorraadcontrole voor" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "Voorraadcontrole na" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Vervaldatum voor" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Vervaldatum na" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Verouderd" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "Cascade locaties" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "Indien waar, inclusief items op de onderliggende locaties van de opgegeven locatie" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Filter op numerieke locatie ID of de letterlijke 'null'" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Hoeveelheid is vereist" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Geldig onderdeel moet worden opgegeven" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "Het opgegeven leveranciers onderdeel bestaat niet" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Het leveranciersdeel heeft een pakketgrootte gedefinieerd, maar vlag use_pack_size niet ingesteld" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienummers kunnen niet worden meegeleverd voor een niet traceerbaar onderdeel" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "Inclusief geïnstalleerde" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Als correct, geef testresultaten voor items die onder het opgegeven voorraadartikel zijn geïnstalleerd" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "Filter op numerieke voorraadartikel ID" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "Voorraadartikel met ID {id} bestaat niet" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "Inclusief Onderdeel varianten" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "Datum na" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "Datum voor" @@ -9347,115 +9368,115 @@ msgstr "Serienummers moeten als lijst worden opgegeven" msgid "Quantity does not match serial numbers" msgstr "Hoeveelheid komt niet overeen met serienummers" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "Testsjabloon bestaat niet" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Voorraad item is geïnstalleerd in een ander item" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "Voorraadartikel bevat andere producten" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Voorraadartikel is aan een klant toegewezen" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "Voorraad item is momenteel in productie" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Geserialiseerde voorraad kan niet worden samengevoegd" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Dupliceer voorraadartikelen" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Voorraadartikelen moeten hetzelfde onderdeel verwijzen" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "Voorraadartikelen moeten verwijzen naar dezelfde leveranciersdeel" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "De voorraad statuscodes moeten overeenkomen" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "Voorraadartikel kan niet worden verplaatst omdat het niet op voorraad is" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "Voorraad item volgen" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Item notities" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "Resultaat voorraad test resultaten" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Waarde moet voor deze test worden opgegeven" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "Bijlage moet worden geüpload voor deze test" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "Ongeldige waarde voor deze test" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Test resultaat" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Test uitvoer waarde" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Test resultaat bijlage" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Test notities" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "Test station" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "De identificatie van het teststation waar de test werd uitgevoerd" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "Gestart" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "Het tijdstip van de start test" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Afgerond" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "Het tijdstip van de afgeronde test" @@ -9618,11 +9639,6 @@ msgstr "De te installeren hoeveelheid mag niet groter zijn dan de beschikbare ho msgid "Destination location for uninstalled item" msgstr "Bestemmingslocatie voor verwijderd item" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Voorraad status code" diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index a453176f87..e4cd712e53 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Kunne ikke konvertere {original} til {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Feildetaljer kan finnes i admin-panelet" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Verdi '{name}' vises ikke i mønsterformat" msgid "Provided value does not match required pattern: " msgstr "Angitt verdi samsvarer ikke med påkrevd mønster: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Tom serienummerstreng" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Duplisert serienummer" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Gruppesekvens {group} overskrider tillatt antall ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Ingen serienummer funnet" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Fjern HTML-tagger fra denne verdien" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Tilkoblingsfeil" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Serveren svarte med ugyldig statuskode" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Det har oppstått et unntak" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Serveren svarte med ugyldig \"Content-Length\"-verdi" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Bildestørrelsen er for stor" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Bildenedlasting overskred maksimal størrelse" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Ekstern server returnerte tomt svar" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Angitt URL er ikke en gyldig bildefil" @@ -280,7 +284,7 @@ msgstr "Ugyldig valg" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Navn" @@ -288,7 +292,7 @@ msgstr "Navn" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "En feil har blitt logget av serveren." msgid "Image" msgstr "Bilde" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Må være et gyldig tall" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Velg valuta ut fra tilgjengelige alternativer" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Kopier parametere" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Overordnet produksjon" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Kategori" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Valgfritt" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Sammenstilling" @@ -725,7 +729,7 @@ msgstr "Sammenstilling" msgid "Tracked" msgstr "Spores" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Tildelt" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "Tilgjengelig" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Produksjonsordre" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Produksjonsordre-referanse" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Salgsordrereferanse" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Kildeplassering" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Opprettelsesdato" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Brukeren som utstedte denne produksjonsordren" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Ansvarlig" @@ -965,7 +969,7 @@ msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" msgid "External Link" msgstr "Ekstern lenke" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Produksjonsobjekt" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" @@ -1118,11 +1122,11 @@ msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Lagervare" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "Delnavn" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Produksjonsartikkel" @@ -1204,12 +1208,12 @@ msgstr "Automatisk tildeling av serienummer" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "En liste over produksjonsartikler må oppgis" @@ -1233,304 +1237,309 @@ msgstr "Grunn for skroting av produksjonsartikler" msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Godta ufullstendig tildeling" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "Fullfør artikler dersom lagerbeholdning ikke er fullt tildelt" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Bruk tildelt lagerbeholdning" -#: build/serializers.py:645 +#: build/serializers.py:654 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:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Fjern ufullstendige artikler" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "Slett alle produksjonsartikler som ikke er fullført" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Ikke tillatt" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Godta som brukt av denne produksjonsordren" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Fjern tildeling før produksjonsordren fullføres" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Overtildelt lagerbeholdning" -#: build/serializers.py:711 +#: build/serializers.py:720 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:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Noen lagervarer har blitt overtildelt" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Godta ikke tildelt" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Nøvendig lagerbeholdning er ikke fullt tildelt" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Godta uferdig" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Nødvendig produksjonsmengde er ikke nådd" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Produksjonsordren har uferdige artikler" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Produksjonslinje" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Produksjonsartikkel" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "Produksjonsartikkel må peke til samme produksjon" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Produksjonsartikkel" -#: build/serializers.py:881 +#: build/serializers.py:890 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:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "Produksjonsartikkel må spesifiseres for tildeling av sporede deler" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Eksluderer plassering" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Ekskluder lagervarer fra denne valgte plasseringen" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Utskiftbar lagerbeholdning" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagervarer ved flere plasseringer kan brukes om hverandre" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Erstatning-lagerbeholdning" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Tilatt tildelling av erstatningsdeler" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Valgfrie artikler" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Tildel valgfrie BOM-artikler til produksjonsordre" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "BOM-referanse" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Leverandørdel" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Tildelt antall" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Produksjonsreferanse" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Delkategorinavn" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Sporbar" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Nedarvet" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Tillat Varianter" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "BOM-artikkel" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Ekstern lagerbeholdning" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Tilgjengelig lagerbeholdning" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Tilgjengelige erstatningsvarer" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Tilgjengelige variantvarer" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "Kansellert" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Ingen gyldige valutakoder angitt" msgid "No plugin" msgstr "Ingen programtillegg" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Prosjektbeskrivelse" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktiv" @@ -1716,7 +1725,7 @@ msgstr "Nøkkelstreng må være unik" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Tittel" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Lenke" @@ -1896,7 +1905,7 @@ msgstr "Definisjon" msgid "Unit definition" msgstr "Enhetsdefinisjon" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Vedlegg" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Verdi" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "Sjekkboksparameter kan ikke ha enheter" msgid "Checkbox parameters cannot have choices" msgstr "Sjekkboksparameter kan ikke ha valg" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Valg må være unike" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "Parameternavn" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Enheter" @@ -2242,7 +2251,7 @@ msgstr "Sjekkboks" msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en sjekkboks?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Valg" @@ -2254,7 +2263,7 @@ msgstr "Gyldige valg for denne parameteren (kommaseparert)" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Aktivert" @@ -2308,7 +2317,7 @@ msgstr "Mal" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Parameterverdi" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Resultat" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Filnavn" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Modelltype" @@ -3008,7 +3017,7 @@ msgstr "Deler er maler som standard" msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Komponent" @@ -3017,7 +3026,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Kjøpbar" @@ -3025,7 +3034,7 @@ msgstr "Kjøpbar" msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Salgbar" @@ -3037,7 +3046,7 @@ msgstr "Deler er salgbare som standard" msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtuelle" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Produsent" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Firma" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Lenke til adresseinformasjon (ekstern)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Produsentdeler" @@ -4574,7 +4583,7 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Leverandør" @@ -4610,11 +4619,11 @@ msgstr "URL for ekstern leverandørdel-lenke" msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" @@ -4635,7 +4644,7 @@ msgstr "Pakkeantall" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Totalt antall i en enkelt pakke. La være tom for enkeltenheter." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "flere" @@ -4731,152 +4740,152 @@ msgstr "Plassert" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Datafil" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Gyldig" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "Antall må være 1 for serialisert lagervare" msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "SKU-kode" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Internt delnummer" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Delkategori" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Delkategorier" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Standard plassering" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Standardplassering for deler i denne kategorien" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Strukturell" -#: part/models.py:120 +#: part/models.py:121 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:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Standard nøkkelord" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Standard nøkkelord for deler i denne kategorien" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Ikon" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Ikon (valgfritt)" -#: part/models.py:182 +#: part/models.py:183 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:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Deler" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, 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:703 +#: part/models.py:704 #, 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:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN må samsvare med regex-mønsteret {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Delnavn" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Variant av" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Nøkkelord" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Delkategori" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Revisjon" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Minimal lagerbeholdning" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 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:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Kontrollsum for BOM" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Lagret BOM-kontrollsum" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Eier ansvarlig for denne delen" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Minimal BOM-kostnad" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Maksimal BOM-kostnad" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Minimal kostnad" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Overstyr minstekostnad" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Maksimal kostnad" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Overstyr maksimal kostnad" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Antall" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Dato" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3619 +#: part/models.py:3650 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:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3626 +#: part/models.py:3657 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:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:3951 +#: part/models.py:3982 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:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Godkjent" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:4024 +#: part/models.py:4055 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:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 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:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" @@ -7375,41 +7388,41 @@ msgstr "Kopier erstatningsdeler" msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Varsel om lav lagerbeholdning" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Tilgjengelig lagerbeholdning for {part.name} har falt under det konfigurerte minimumsnivået" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "Strekkode samsvarer med ekisterende element" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Ingen samsvarende del-data funnet" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Finner ingen matchende leverandørdeler" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Flere samsvarende leverandørdeler funnet" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Fant leverandørdel" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "Artikkelen er allerede mottatt" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Flere samsvarende elementer funnet" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Ingen samsvarende element funnet" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "Strekkoden samsvarer ikke med eksisterende lagervare" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "Lagervare samsvarer ikke med linjeelement" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Utilstrekkelig lagerbeholdning" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Lagervaren er tildelt en salgsordre" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Ikke nok informasjon" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "Ingen resultat" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Bildefil ikke funnet" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "part_image-taggen krever en Part-instans" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "company_image-taggen krever en Company-instans" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Statuskode" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Ekstern plassering" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Del-tre" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Utløpsdato før" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Utløpsdato etter" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Foreldet" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Antall kreves" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Gyldig del må oppgis" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "Oppgitt leverandørdel eksisterer ikke" -#: stock/api.py:1179 +#: stock/api.py:1187 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:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "Antallet stemmer ikke overens med serienumrene" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "Lagervare har blitt tildelt en salgsordre" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Lagervare er montert i en annen artikkel" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "Lagervare inneholder andre artikler" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Lagervare har blitt tildelt til en kunde" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "Lagervare er for tiden i produksjon" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Serialisert lagerbeholdning kan ikke slås sammen" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Duplisert lagervare" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Lagervarer må referere til samme del" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "Lagervarer må referere til samme leverandørdel" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Lagerstatuskoder må være like" -#: stock/models.py:3080 +#: stock/models.py:3092 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:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Oppføringsnotater" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Verdi må angis for denne testen" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "Vedlegg må lastes opp for denne testen" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Testresultat" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Testens verdi" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Vedlegg til testresultat" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Testnotater" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "Antall å installere må ikke overskride tilgjengelig antall" msgid "Destination location for uninstalled item" msgstr "Lagerplassering for den avinstallerte artikkelen" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Lagervare statuskode" diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index 0c4ca59f58..3555f6e83c 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Nie udało się przeliczyć {original} na {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Niepoprawna wartość dziesiętna" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Wartość '{name}' nie pojawia się w formacie wzoru" msgid "Provided value does not match required pattern: " msgstr "Podana wartość nie pasuje do wymaganego wzoru: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Nie można serializować więcej niż 1000 przedmiotów naraz" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Pusty ciąg numeru seryjnego" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Podwójny numer seryjny" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Nieprawidłowa grupa: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Zakres grupy {group} przekracza dozwoloną ilość ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Nie znaleziono numerów seryjnych" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "Liczba niepowtarzających się numerów seryjnych ({n}) musi odpowiadać ilości / liczbie ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Usuń znaczniki HTML z tej wartości" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Dane zawierają zabronione treści znacznika" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Błąd połączenia" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Serwer odpowiedział z nieprawidłowym kodem statusu" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Wystąpił wyjątek" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Serwer odpowiedział z nieprawidłową wartością Content-Length" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Rozmiar obrazu jest zbyt duży" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Przekroczono maksymalny rozmiar pobieranego obrazu" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Zdalny serwer zwrócił pustą odpowiedź" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Podany adres URL nie jest poprawnym plikiem obrazu" @@ -280,7 +284,7 @@ msgstr "Błędny wybór" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Nazwa" @@ -288,7 +292,7 @@ msgstr "Nazwa" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Błąd został zapisany w logach serwera." msgid "Image" msgstr "Obraz" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Waluta" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Wybierz walutę z dostępnych opcji" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Budowa nadrzędna" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Obejmuje warianty" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Obejmuje warianty" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Obejmuje warianty" msgid "Part" msgstr "Komponent" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Kategoria" @@ -650,11 +654,11 @@ msgstr "Przypisane do mnie" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Stworzony przed" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Stworzony po" @@ -706,18 +710,18 @@ msgstr "Wyklucz drzewo" 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:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Opcjonalne" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Złożenie" @@ -725,7 +729,7 @@ msgstr "Złożenie" msgid "Tracked" msgstr "Śledzony" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Testowalne" @@ -733,12 +737,12 @@ msgstr "Testowalne" msgid "Order Outstanding" msgstr "Zaległe zamówienie" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Przydzielono" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "Dostępne" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Zlecenie Budowy" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "Data docelowa musi być po dacie rozpoczęcia" msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Odwołanie do zamówienia sprzedaży" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Lokalizacja źródła" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Data utworzenia" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Odpowiedzialny" @@ -965,7 +969,7 @@ msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji" msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Zbuduj obiekt" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Element kompilacji musi określać dane wyjściowe kompilacji, ponieważ część główna jest oznaczona jako możliwa do śledzenia" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" @@ -1118,11 +1122,11 @@ msgstr "Przydzielona ilość ({q}) nie może przekraczać dostępnej ilości zap msgid "Stock item is over-allocated" msgstr "Pozycja magazynowa jest nadmiernie przydzielona" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Element magazynowy" @@ -1151,7 +1155,7 @@ msgstr "Poziom budowania" msgid "Part Name" msgstr "Nazwa komponentu" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1204,12 +1208,12 @@ msgstr "Automatycznie przydzielaj numery seryjne" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatycznie przydzielaj wymagane elementy z pasującymi numerami seryjnymi" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "Poniższe numery seryjne już istnieją lub są nieprawidłowe" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Zaakceptuj niekompletną alokację" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "Usuń produkcje, które nie zostały zakończone" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Niedozwolone" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Zaakceptuj jako zużyte przez zlecenie produkcji" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Nadmierny przydział zasobów" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Zaakceptuj nieprzydzielone" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Wymagany stan nie został w pełni przypisany" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Magazyn wymienny" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Zastępczy magazyn" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Przedmiot opcjonalny" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Przydziel opcjonalne elementy BOM do zbudowania zamówienia" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Odniesienie BOM" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "ID części BOM" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Nazwa części BOM" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Wersja" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Część dostawcy" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Ilość zarezerwowana" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Możliwość śledzenia" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Element BOM" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Zew. zasoby magazynowe" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Dostępna ilość" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Dostępny magazyn zastępczy" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "Wstrzymane" msgid "Cancelled" msgstr "Anulowano" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "Brak wtyczki" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Opis projektu" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktywny" @@ -1716,7 +1725,7 @@ msgstr "Ciąg musi być unikatowy" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Tytuł" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Łącze" @@ -1896,7 +1905,7 @@ msgstr "Definicja" msgid "Unit definition" msgstr "Definicja jednostki" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Załącznik" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Wartość" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Zablokowany" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Jednostki" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Aktywne" @@ -2308,7 +2317,7 @@ msgstr "Szablon" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Dane" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Wartość parametru" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Wynik" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Nazwa pliku" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Typ modelu" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Komponent" @@ -3017,7 +3026,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Możliwość zakupu" @@ -3025,7 +3034,7 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -3037,7 +3046,7 @@ msgstr "Części są domyślnie z możliwością sprzedaży" msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Wirtualny" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Producent" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Firma" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Komponent producenta" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Dostawca" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "Ilość w opakowaniu" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "wielokrotność" @@ -4731,152 +4740,152 @@ msgstr "Umieszczony" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Plik danych" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "Status importu" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Ważny" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Kategoria komponentu" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Kategorie części" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Domyślna lokalizacja" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Domyślne słowa kluczowe" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Części" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Wariant" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Słowa kluczowe" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Wersja" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:1272 +#: part/models.py:1282 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:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 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:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Data" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Wymagane" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "Kod kreskowy pasuje do istniejącego elementu" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "Kod kreskowy nie pasuje do istniejących pozycji magazynowych" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index f611dccae8..316d61c9b2 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Não foi possível converter {original} para {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Quantidade fornecida inválida" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Detalhes do erro podem ser encontrados no painel de administrador" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Valor '{name}' não está no formato correto" msgid "Provided value does not match required pattern: " msgstr "O valor fornecido não corresponde ao padrão exigido: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Número serial em branco" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Número de série duplicado" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Nenhum número de série foi encontrado" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Remova as \"tags\" HTML deste valor" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Erro de conexão" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "O servidor respondeu com código estado inválido" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Ocorreu uma exceção" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 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:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Tamanho da imagem muito grande" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "O download da imagem excedeu o tamanho máximo" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "O servidor remoto retornou resposta vazia" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "A URL fornecida não é um arquivo de imagem válido" @@ -280,7 +284,7 @@ msgstr "Escolha inválida" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Nome" @@ -288,7 +292,7 @@ msgstr "Nome" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Log de erro salvo pelo servidor." msgid "Image" msgstr "Imagem" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Selecione a Moeda nas opções disponíveis" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Copiar Parâmetros" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Produção Progenitor" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "Peça" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Categoria" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Consumível" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Opcional" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Montagem" @@ -725,7 +729,7 @@ msgstr "Montagem" msgid "Tracked" msgstr "Monitorado" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Alocado" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "Disponível" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Ordem de Produção" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Referência do pedido de venda" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Local de Origem" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Criado em" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Usuário que emitiu este pedido de produção" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsável" @@ -965,7 +969,7 @@ msgstr "Usuário ou grupo responsável para este pedido de produção" msgid "External Link" msgstr "Link Externo" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Link para URL externa" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Objeto de produção" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "Item estoque selecionado não coincide com linha da LDM" @@ -1118,11 +1122,11 @@ msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em e msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Item de estoque" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "Nome da Peça" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Saída da Produção" @@ -1204,12 +1208,12 @@ msgstr "Alocar Números de Série Automaticamente" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 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:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" @@ -1233,304 +1237,309 @@ msgstr "Motivo para sucatear saída(s) de produção" msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Aceitar Alocação Incompleta" -#: build/serializers.py:579 +#: build/serializers.py:588 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:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Consumir Estoque Alocado" -#: build/serializers.py:645 +#: build/serializers.py:654 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:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Remover Saídas Incompletas" -#: build/serializers.py:652 +#: build/serializers.py:661 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:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Não permitido" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Aceitar conforme consumido por esta ordem de produção" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Desatribua antes de completar este pedido de produção" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Estoque sobrealocado" -#: build/serializers.py:711 +#: build/serializers.py:720 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:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Alguns itens de estoque foram sobrealocados" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Aceitar não alocados" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Aceitar Incompleto" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Quantidade de produção requerida não foi concluída" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Pedido de produção tem saídas incompletas" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Linha de produção" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Saída da Produção" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "Saída de produção deve indicar a mesma produção" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Item da linha de produção" -#: build/serializers.py:881 +#: build/serializers.py:890 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:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Item deve estar em estoque" -#: build/serializers.py:963 +#: build/serializers.py:972 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:971 +#: build/serializers.py:980 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:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Alocação do Item precisa ser fornecida" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Local não incluso" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Não incluir itens de estoque deste local" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Estoque permutável" -#: build/serializers.py:1070 +#: build/serializers.py:1079 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:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Substituir Estoque" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Permitir alocação de peças substitutas" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Itens opcionais" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Alocar itens LDM opcionais para o pedido de produção" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Fornecedor da Peça" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Quantidade Alocada" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Rastreável" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Permitir variações" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Item LDM" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "Em Produção" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Estoque Disponível" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "Cancelado" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Nenhum código de moeda válido foi fornecido" msgid "No plugin" msgstr "Sem extensão" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Descrição do projeto" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Ativo" @@ -1716,7 +1725,7 @@ msgstr "A frase senha deve ser diferenciada" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Título" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Ligação" @@ -1896,7 +1905,7 @@ msgstr "Definição" msgid "Unit definition" msgstr "Definição de unidade" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Anexo" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Valor" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "Parâmetros da caixa de seleção não podem ter unidades" msgid "Checkbox parameters cannot have choices" msgstr "Os parâmetros da caixa de seleção não podem ter escolhas" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Escolhas devem ser únicas" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Unidades" @@ -2242,7 +2251,7 @@ msgstr "Caixa de seleção" msgid "Is this parameter a checkbox?" msgstr "Este parâmetro é uma caixa de seleção?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Escolhas" @@ -2254,7 +2263,7 @@ msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Habilitado" @@ -2308,7 +2317,7 @@ msgstr "Modelo" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Dados" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Valor do Parâmetro" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Resultado" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Nome do arquivo" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "Peças são modelos por padrão" 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/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Componente" @@ -3017,7 +3026,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Peças podem ser usadas como sub-componentes por padrão" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Comprável" @@ -3025,7 +3034,7 @@ msgstr "Comprável" msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Vendível" @@ -3037,7 +3046,7 @@ msgstr "Peças vão vendíveis por padrão" msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtual" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Fabricante" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Empresa" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Link para as informações do endereço (externo)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Peça do Fabricante" @@ -4574,7 +4583,7 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Fornecedor" @@ -4610,11 +4619,11 @@ msgstr "URL do link externo da peça do fabricante" msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "preço base" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" @@ -4635,7 +4644,7 @@ msgstr "Quantidade de embalagens" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Quantidade total fornecida em um único pacote. Deixe em branco para itens únicos." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "múltiplo" @@ -4731,152 +4740,152 @@ msgstr "Colocado" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Arquivo de dados" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Colunas" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Válido" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "Quantidade deve ser 1 para item de estoque serializado" msgid "Sales order does not match shipment" msgstr "Pedidos de venda não coincidem com a remessa" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "Remessa não coincide com pedido de venda" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "Código (SKU)" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Numero interno do produto" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Categoria da Peça" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Categorias de Peça" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Local Padrão" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Local padrão para peças desta categoria" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Estrutural" -#: part/models.py:120 +#: part/models.py:121 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:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Palavras-chave Padrão" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Palavras-chave padrão para peças nesta categoria" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Ícone" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Ícone (opcional)" -#: part/models.py:182 +#: part/models.py:183 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:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Peças" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, 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:703 +#: part/models.py:704 #, 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:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN deve corresponder ao padrão regex {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 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:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "Não é permitido duplicar IPN em configurações de partes" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 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:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Peças não podem ser atribuídas a categorias estruturais!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Nome da peça" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "É um modelo" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Esta peça é uma peça modelo?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Esta peça é variante de outra peça?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Variante de" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Descrição da peça (opcional)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Palavras chave" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Revisão" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Onde este item é armazenado normalmente?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Validade Padrão" -#: part/models.py:1232 +#: part/models.py:1242 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:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Estoque Mínimo" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Unidade de medida para esta peça" -#: part/models.py:1266 +#: part/models.py:1276 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:1272 +#: part/models.py:1282 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:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Esta parte tem rastreamento para itens únicos?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Esta peça pode ser comprada de fornecedores externos?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Esta peça pode ser vendida a clientes?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Esta parte está ativa?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 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:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Soma de Verificação da LDM" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Soma de verificação da LDM armazenada" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "LDM conferida por" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "LDM verificada no dia" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Criação de Usuário" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Proprietário responsável por esta peça" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Sobrepor o custo mínimo" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Custo Máximo" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Sobrepor o custo máximo" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:3345 +#: part/models.py:3376 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:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Data" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Requerido" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3619 +#: part/models.py:3650 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:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3626 +#: part/models.py:3657 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:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:3951 +#: part/models.py:3982 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:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Validado" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "O item da LDM foi validado" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:4018 +#: part/models.py:4049 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:4024 +#: part/models.py:4055 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:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:4321 +#: part/models.py:4357 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:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 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:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" @@ -7375,41 +7388,41 @@ msgstr "Copiar Peças Substitutas" msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Notificação de estoque baixo" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo definido" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "Código de barras corresponde ao item existente" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Nenhuma informação de peça correspondente encontrada" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Nenhuma peça de fornecedor correspondente encontrada" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Múltiplas peças de fornecedores correspondentes encontradas" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Peça de fornecedor correspondente" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "Item do pedido já foi recebido" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Diversos itens de linha correspondentes encontrados" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Nenhum item de linha correspondente encontrado" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 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:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "Item do estoque não corresponde ao item de linha" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Estoque insuficiente disponível" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Item de estoque atribuído para pedido de venda" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Não há informação suficiente" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Ofício" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Carta" @@ -8890,196 +8911,196 @@ msgstr "Nenhum resultado" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Arquivo de imagem não encontrado" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "Tag part_image necessita de uma instância de Peça" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "Tag company_image necessita de uma instância de Empresa" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Código da situação" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Localização externa" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Árvore de Peças" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Data de validade antes" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Data de validade depois" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Inativo" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "A peça do fornecedor informado não existe" -#: stock/api.py:1179 +#: stock/api.py:1187 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:1211 +#: stock/api.py:1219 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/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "A quantidade não corresponde aos números de série" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "Item em estoque foi reservado para um pedido" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Item em estoque está instalado em outro item" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "item em estoque contem outro(s) items" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Item em estoque foi reservado para outro cliente" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "Item no estoque está em produção no momento" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Itens de série não podem ser mesclados" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Item de estoque duplicado" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Itens de estoque devem se referir à mesma peça" -#: stock/models.py:2647 +#: stock/models.py:2659 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:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Códigos de estado do estoque devem corresponder" -#: stock/models.py:3080 +#: stock/models.py:3092 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:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Observações de entrada" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Deve-se fornecer o valor desse teste" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "O anexo deve ser enviado para este teste" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Resultado do teste" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Valor da saída do teste" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Anexo do resultado do teste" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Notas do teste" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "Quantidade a instalar não deve exceder a quantidade disponível" msgid "Destination location for uninstalled item" msgstr "Local de destino para o item desinstalado" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Código de estado do item estoque" 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 b7ae7120e3..29d897f653 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Não foi possível converter {original} para {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Quantidade inválida" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "O servidor está recarregando temporariamente, tente novamente" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Detalhes do erro podem ser encontrados no painel de administração" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Valor decimal inválido" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "O valor '{name}' não aparece no formato padrão" msgid "Provided value does not match required pattern: " msgstr "O valor fornecido não corresponde ao padrão exigido: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Não é possível serializar mais de 1000 itens de uma vez" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Número serial em branco" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Número serial duplicado" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Grupo inválido:{group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Nenhum número de série foi encontrado" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "O número de números seriais únicos ({n}) deve corresponder a quantidade ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Remover as \"tags\" HTML deste valor" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Os dados contêm conteúdo de marcação proibido" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "URL inválida: sem nome de host" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "URL inválida: não foi possível resolver o nome de host" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "A URL aponta para um endereço IP privado ou reservado" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "Redirecionamentos em excesso" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Erro de conexão" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "O servidor respondeu com código de estado inválido" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Ocorreu uma exceção" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 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:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "O tamanho da imagem é grande demais" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "O download da imagem excedeu seu tamanho máximo" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "O servidor remoto retornou uma resposta vazia" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "A URL fornecida não é um arquivo de imagem válido" @@ -280,7 +284,7 @@ msgstr "Escolha inválida" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Nome" @@ -288,7 +292,7 @@ msgstr "Nome" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Um erro foi registrado pelo servidor." msgid "Image" msgstr "Imagem" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Deve ser um número válido" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Selecione a moeda entre as opções disponíveis" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "Este campo não pode ser nulo." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "Formato de conteúdo inválido" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "Tipo de conteúdo não encontrado" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "O tipo de conteúdo não corresponde à classe mixin exigida" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Copiar parâmetros" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "Copiar parâmetros do item original" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Copiar linhas" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Copiar itens de linha do pedido original" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Copiar linhas extras" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Copiar itens de linha extras do pedido original" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "Opções de duplicação" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "Especifique as opções para duplicar este item" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "Original" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "Selecione a instância para duplicar" @@ -597,20 +601,20 @@ msgstr "Produção principal" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Incluir variáveis" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Incluir variáveis" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Incluir variáveis" msgid "Part" msgstr "Peça" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Categoria" @@ -650,11 +654,11 @@ msgstr "Atribuído a mim" msgid "Assigned To" msgstr "Atribuído a" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Criado antes" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Criado após" @@ -706,18 +710,18 @@ msgstr "Excluir árvore" msgid "Build must be cancelled before it can be deleted" msgstr "A produção deve ser cancelada antes de ser excluída" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Consumível" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Opcional" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Montagem" @@ -725,7 +729,7 @@ msgstr "Montagem" msgid "Tracked" msgstr "Rastreado" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Testável" @@ -733,12 +737,12 @@ msgstr "Testável" msgid "Order Outstanding" msgstr "Pedido pendente" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Alocado" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Consumido" @@ -749,7 +753,7 @@ msgstr "Consumido" msgid "Available" msgstr "Disponível" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Pedido de produção" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "A data limite deve ser posterior à data inicial" msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Referência do pedido de venda" msgid "Sales Order to which this build is allocated" msgstr "Pedido de venda ao qual esta produção está alocada" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Local de origem" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Criado em" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Usuário que emitiu este pedido de produção" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsável" @@ -965,7 +969,7 @@ msgstr "Usuário ou grupo responsável para este pedido de produção" msgid "External Link" msgstr "Link externo" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Link para URL externa" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "A saída de produção já foi concluída" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "Não é possível concluir parcialmente uma saída de produção com ite #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "O item de estoque não existe mais" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Compilar objeto" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "Quantidade de estoque consumido" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "O item de estoque selecionado não coincide com linha da BOM" @@ -1118,11 +1122,11 @@ msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em e msgid "Stock item is over-allocated" msgstr "O item de estoque está superalocado" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Item de estoque" @@ -1151,7 +1155,7 @@ msgstr "Nível de produção" msgid "Part Name" msgstr "Nome da peça" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Saída da produção" @@ -1204,12 +1208,12 @@ msgstr "Alocar números de série automaticamente" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 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:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" @@ -1233,304 +1237,309 @@ msgstr "Motivo para eliminar saída(s) de produção" msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "Locais estruturais não podem receber itens de estoque" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Aceitar alocação incompleta" -#: build/serializers.py:579 +#: build/serializers.py:588 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:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Consumir estoque alocado" -#: build/serializers.py:645 +#: build/serializers.py:654 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:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Remover saídas incompletas" -#: build/serializers.py:652 +#: build/serializers.py:661 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:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Não permitido" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Aceitar conforme consumido por este pedido de produção" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Desatribua antes de completar este pedido de produção" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Estoque superalocado" -#: build/serializers.py:711 +#: build/serializers.py:720 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:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Alguns itens de estoque foram sobrecarregados" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Aceitar não alocados" -#: build/serializers.py:729 +#: build/serializers.py:738 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 encomenda" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Aceitar incompleto" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Quantidade de produção requerida não foi concluída" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "A pedido de produção tem pedidos de produção secundárias abertas" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "Pedido de produção deve estar no estado de produção" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Pedido de produção tem saídas incompletas" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Linha de produção" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Saída da produção" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "Saída de produção deve indicar a mesma produção" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Item da linha de produção" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "Bom_item.part deve apontar para a mesma peça que a pedido de produção" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "O item deve estar em estoque" -#: build/serializers.py:963 +#: build/serializers.py:972 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:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Saída de produção não pode ser definida para alocação de peças não rastreadas" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Alocação de itens precisam ser fornecidos" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Localização do estoque onde as peças devem ser originadas (deixe em branco a partir de qualquer local)" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Excluir local" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Excluir itens de estoque desta localização selecionada" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Estoque intercambiável" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Itens de estoque em múltiplos locais podem ser intercambiáveis" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Estoque substituto" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Permitir alocação de peças substitutas" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Itens opcionais" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Alocar itens BOM opcionais para pedido de produção" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "Todos os itens" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "Itens não rastreados" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "Itens rastreados" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "Tipo de item" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "Selecionar o tipo de item para alocar automaticamente" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "Prioridade de estoque" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "Ordem preferencial em que os itens de estoque correspondentes são consumidos" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "Linhas de produção" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "Limitar a alocação a estas linhas de produção (deixe em branco para alocar todas as linhas)" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Referência do BOM" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "ID da peça BOM" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Nome da peça BOM" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "Instalar em" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Produção" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Fornecedor da peça" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Quantidade alocada" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Referência da produção" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Nome da categoria" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Rastreável" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Herdado" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Item BOM" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "Em produção" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "Agendado para produção" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Estoque externo" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Estoque disponível" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Estoque substituto disponível" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Estoque de variantes disponível" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "A quantidade consumida excede a quantidade alocada" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "Notas opcionais para o consumo de estoque" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "O item de produção deve apontar para o pedido de produção correto" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "Alocação de item de produção duplicada" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "A linha de produção deve apontar para o pedido de produção correto" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "Alocação de linha de produção duplicada" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "Pelo menos um item ou uma linha deve ser fornecido" @@ -1555,7 +1564,7 @@ msgstr "Em espera" msgid "Cancelled" msgstr "Cancelado" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Nenhum código de moeda válido fornecido" msgid "No plugin" msgstr "Sem extensão" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "Marcadores" @@ -1667,8 +1676,8 @@ msgstr "Descrição do projeto" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Ativo" @@ -1716,7 +1725,7 @@ msgstr "A frase senha deve ser diferenciada" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Título" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" @@ -1896,7 +1905,7 @@ msgstr "Definição" msgid "Unit definition" msgstr "Definição de unidade" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Anexo" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "Chave lógica de estado que é igual a este estado personalizado na lógica de negócios" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Valor" @@ -2098,7 +2107,7 @@ msgstr "Nome da lista de seleção" msgid "Description of the selection list" msgstr "Descrição da lista de seleção" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Bloqueado" @@ -2206,7 +2215,7 @@ msgstr "Parâmetros de caixa de seleção não podem ter unidades" msgid "Checkbox parameters cannot have choices" msgstr "Parâmetros de caixa de seleção não podem ter opções" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "As opções devem ser únicas" @@ -2222,7 +2231,7 @@ msgstr "Tipo de modelo de destino para este modelo de parâmetro" msgid "Parameter Name" msgstr "Nome do parâmetro" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Unidades" @@ -2242,7 +2251,7 @@ msgstr "Caixa de seleção" msgid "Is this parameter a checkbox?" msgstr "Este parâmetro é uma caixa de seleção?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Opções" @@ -2254,7 +2263,7 @@ msgstr "Opções válidas para este parâmetro (separadas por vírgula)" msgid "Selection list for this parameter" msgstr "Lista de seleção para este parâmetro" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Habilitado" @@ -2308,7 +2317,7 @@ msgstr "Modelo" msgid "Parameter template" msgstr "Modelo de parâmetro" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Dados" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Valor do parâmetro" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Dados de código de barras" msgid "User who scanned the barcode" msgstr "Usuário que leu o código de barras" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Marcador de hora" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "Dados de resposta da verificação de código de barras" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Resultado" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Nome do arquivo" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Categoria de modelo" @@ -3008,7 +3017,7 @@ msgstr "Peças são modelos por padrão" 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/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Componente" @@ -3017,7 +3026,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Peças podem ser usadas como sub-componentes por padrão" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Comprável" @@ -3025,7 +3034,7 @@ msgstr "Comprável" msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Comercializável" @@ -3037,7 +3046,7 @@ msgstr "Peças vão vendíveis por padrão" msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtual" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Fabricante" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Empresa" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Link para as informações do endereço (externo)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Fabricante da peça" @@ -4574,7 +4583,7 @@ msgstr "Peça do fabricante vinculado deve fazer referência à mesma peça base #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Fornecedor" @@ -4610,11 +4619,11 @@ msgstr "URL do link externo da peça do fabricante" msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "Preço base" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" @@ -4635,7 +4644,7 @@ msgstr "Quantidade de embalagens" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Quantidade total fornecida em um único pacote. Deixe em branco para itens individuais." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "Múltiplo" @@ -4731,152 +4740,152 @@ msgstr "Localizado" msgid "Invalid status code" msgstr "Código de status inválido" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Arquivo de dados" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "Arquivo de dados para importar" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Colunas" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "Categoria de modelo de destino para esta sessão de importação" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "Status de importação" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Campos padrões" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "Substituições de campo" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Campo de filtros" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "Atualizar registros existentes" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "Se habilitado, os registros existentes serão atualizados com os novos dados" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Alguns campos necessários não foram mapeados" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "Histórico de contagem de linhas concluídas" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "Histórico de contagem de linhas" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "Identificador existente do registro no banco de dados" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "A coluna já está mapeada a um campo de banco de dados" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "O campo já está mapeado para uma coluna de dados" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "Mapeamento de coluna deve ser ligado a uma sessão de importação válida" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "A coluna não existe no arquivo de dados" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "O campo não existe no modelo de destino" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "O campo selecionado é somente leitura" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "O campo de busca só pode ser definido para campos relacionados (chave estrangeira)" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "Campo de busca inválido. As opções válidas são: {options}" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Importar sessão" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Campo" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Coluna" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "Campo de busca" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "Campo do banco de dados a ser usado para busca por chave estrangeira. Deixe em branco para busca automática." -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Índice de fileira" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Dados da linha original" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Erros" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Válido" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "Múltiplas correspondências encontradas para o valor — garanta que o valor seja único, ou selecione um campo de busca específico" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "Nenhum registro encontrado com o ID fornecido" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "Formato de ID fornecido inválido" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "O ID é obrigatório para atualizar registros existentes." -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Formato de arquivo de dados não suportado" @@ -4884,7 +4893,11 @@ msgstr "Formato de arquivo de dados não suportado" msgid "Failed to open data file" msgstr "Falha ao abrir o arquivo de dados" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "Não foi possível decodificar o arquivo de dados como texto" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Dimensões de arquivo de dados inválidas" @@ -5692,7 +5705,7 @@ msgstr "A quantidade deve ser 1 para um item de estoque serializado" msgid "Sales order does not match shipment" msgstr "O pedido de venda não corresponde à remessa" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "A remessa não corresponde ao pedido de venda" @@ -5908,7 +5921,7 @@ msgstr "Mesclar itens com a mesma peça, destino e data prevista em um único it msgid "SKU" msgstr "Código (SKU)" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Número interno da peça" @@ -6176,7 +6189,7 @@ msgstr "Favorito" msgid "Filter by starred categories" msgstr "Filtrar por categorias favoritas" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Profundidade" @@ -6184,7 +6197,7 @@ msgstr "Profundidade" msgid "Filter by category depth" msgstr "Filtrar por profundidade da categoria" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Nível superior" @@ -6192,7 +6205,7 @@ msgstr "Nível superior" msgid "Filter by top-level categories" msgstr "Filtrar por categorias de nível superior" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "Cascata" @@ -6212,11 +6225,11 @@ msgstr "Filtrar por categoria pai" msgid "Exclude sub-categories under the specified category" msgstr "Excluir subcategorias da categoria especificada" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "Nível máximo" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "Limitar a profundidade da árvore de categorias" @@ -6296,722 +6309,722 @@ msgstr "Tem estoque disponível" msgid "Uses" msgstr "Usos" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Categoria da peça" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Categorias de peça" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Local padrão" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Local padrão para peças desta categoria" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Estrutural" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "As peças não podem ser atribuídas diretamente a uma categoria estrutural, mas podem ser atribuídas a categorias filhas." -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Palavras-chave padrão" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Palavras-chave padrão para peças nesta categoria" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Ícone" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Ícone (opcional)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Você não pode tornar esta categoria de peças estrutural porque algumas peças já estão atribuídas a ela!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "Modelo de parâmetro da categoria de peças" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Valor padrão" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Valor padrão do parâmetro" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Peças" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "Não é possível excluir parâmetros de uma peça bloqueada" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "Não é possível modificar parâmetros de uma peça bloqueada" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "Não é possível excluir esta peça porque ela está bloqueada" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "Não é possível excluir esta peça porque ela ainda está ativa" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "Não é possível excluir esta peça porque ela é usada em uma montagem" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "A peça '{self}' não pode ser usada na lista de materiais de '{parent}' (recursivo)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "A peça '{parent}' é usada na lista de materiais de '{self}' (recursivo)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "O IPN deve corresponder ao padrão regex {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "A peça não pode ser uma revisão de si mesma" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "O código de revisão deve ser especificado para uma peça marcada como revisão" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "Revisões só são permitidas para peças de montagem" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "Não é possível criar uma revisão de uma peça modelo" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "A peça pai deve apontar para o mesmo modelo" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "Já existe um item de estoque com este número de série" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado não é permitido nas configurações de peças" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "Já existe uma revisão de peça duplicada." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Já existe uma peça com este nome, IPN e revisão." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "As peças não podem ser atribuídas a categorias de peças estruturais!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Nome da peça" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "É um modelo" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Esta peça é uma peça modelo?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Esta peça é uma variante de outra peça?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Variante de" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Descrição da peça (opcional)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Palavras-chaves" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave da peça para melhorar a visibilidade nos resultados de busca" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Categoria da peça" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Revisão da peça ou número da versão" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Revisão" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "Esta peça é uma revisão de outra peça?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Revisão de" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Onde este item é normalmente armazenado?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Validade padrão" -#: part/models.py:1232 +#: part/models.py:1242 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:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Estoque mínimo" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "Estoque máximo" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "Nível máximo de estoque permitido" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Unidades de medida desta peça" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Esta peça pode ser produzida a partir de outras peças?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "Esta peça pode ser usada para produzir outras peças?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Esta peça tem rastreamento para itens únicos?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "Esta peça pode ter resultados de teste registrados?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Esta peça pode ser comprada de fornecedores externos?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Esta peça pode ser vendida a clientes?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Esta peça está ativa?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Peças bloqueadas não podem ser editadas" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "Esta é uma peça virtual, como um produto de software ou licença?" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "Esta peça é consumível, como cola ou um fixador?" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "Lista de materiais validada" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "A lista de materiais desta peça é válida?" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Checksum da lista de materiais" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Checksum armazenado da lista de materiais" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "Lista de materiais verificada por" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Data de verificação da lista de materiais" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Criação de usuário" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Proprietário responsável por esta peça" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Vender em múltiplos" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preço" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Custo mínimo da lista de materiais" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Custo máximo da lista de materiais" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Custo mínimo de compra" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Custo histórico mínimo de compra" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Custo máximo de compra" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Custo histórico máximo de compra" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Preço interno mínimo" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo com base nas faixas de preço internas" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Preço interno máximo" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo com base nas faixas de preço internas" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Preço mínimo do fornecedor" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Preço máximo do fornecedor" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Custo mínimo de variante" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variantes" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Custo máximo de variante" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variantes" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Custo mínimo" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Substituir custo mínimo" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Custo máximo" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Substituir custo máximo" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Custo mínimo geral calculado" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Custo máximo geral calculado" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Preço de venda mínimo" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Preço de venda mínimo com base nas faixas de preço" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Preço de venda máximo" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Preço de venda máximo com base nas faixas de preço" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Custo de venda mínimo" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Preço de venda histórico mínimo" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Custo de venda máximo" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Preço de venda histórico máximo" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Peça para inventário" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Contagem de itens" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Número de entradas de estoque individuais no momento do inventário" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do inventário" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Data" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Data em que o inventário foi realizado" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Custo mínimo do estoque" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado do estoque em mãos" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Custo máximo do estoque" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado do estoque em mãos" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "Faixa de preço de venda da peça" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "Faixa de preço interno da peça" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "Modelo de teste da peça" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Nome de modelo inválido - deve incluir pelo menos um caractere alfanumérico" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Modelos de teste só podem ser criados para peças testáveis" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "Já existe um modelo de teste com a mesma chave para a peça" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Nome do teste" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "Chave do teste" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Chave simplificada para o teste" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Descrição do teste" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Insira a descrição deste teste" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "Este teste está habilitado?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Obrigatório" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Este teste precisa ser aprovado?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Requer valor" -#: part/models.py:3619 +#: part/models.py:3650 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:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Requer anexo" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "Este teste requer um anexo de arquivo ao adicionar um resultado de teste?" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "Opções válidas para este teste (separadas por vírgula)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "Quantidade inválida - nenhuma unidade especificada para a peça" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "A quantidade deve ser maior ou igual a zero" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "O item da lista de materiais não pode ser modificado - a montagem está bloqueada" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "O item da lista de materiais não pode ser modificado - a montagem da variante está bloqueada" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Selecionar peça pai" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na lista de materiais" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "Quantidade" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "Quantidade de subpeça consumida para produzir uma peça" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Quantidade na lista de materiais para este item" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Este item da lista de materiais é opcional" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este item da lista de materiais é consumível (não é rastreado em pedidos de produção)" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "Quantidade de preparação" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Quantidade extra necessária para uma produção, para compensar perdas de preparação" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "Perda" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Perda estimada para uma produção, expressa em porcentagem (0-100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "Múltiplo de arredondamento" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Arredondar para cima a quantidade de produção necessária para o múltiplo mais próximo deste valor" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Referência do item da lista de materiais" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Notas do item da lista de materiais" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Checksum" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Checksum da linha da lista de materiais" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Validado" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Este item da lista de materiais foi validado" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "É herdado" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este item da lista de materiais é herdado pelas listas de materiais das peças variantes" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Itens de estoque de peças variantes podem ser usados para este item da lista de materiais" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "A quantidade deve ser um valor inteiro para peças rastreáveis" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "A subpeça deve ser especificada" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Substituto do item da lista de materiais" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "A peça substituta não pode ser a mesma que a peça principal" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Item pai da lista de materiais" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Peça substituta" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Peça 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Peça 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Selecionar peça relacionada" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Nota para esta relação" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "Não é possível criar uma relação de peça entre uma peça e ela mesma" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Já existe uma relação duplicada" @@ -7375,41 +7388,41 @@ msgstr "Copiar peças substitutas" msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças substitutas ao duplicar itens da lista de materiais" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Notificação de estoque baixo" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "O estoque disponível de {part.name} caiu abaixo do nível mínimo configurado" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "Notificação de estoque parado" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "Você tem 1 item de estoque se aproximando da data de validade" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "Você tem {item_count} itens de estoque se aproximando da data de validade" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "Sem data de validade" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "Expirou {abs(days_diff)} dias atrás" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "Vence hoje" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry} dias" @@ -7462,71 +7475,79 @@ msgstr "Instância do modelo não encontrada" msgid "Barcode matches existing item" msgstr "Código de barras corresponde ao item existente" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Nenhum dado de peça correspondente encontrado" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Nenhuma peça de fornecedor correspondente encontrada" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Várias peças de fornecedor correspondentes encontradas" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "Você não possui as permissões necessárias para pedidos de compra" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "Nenhum plugin correspondente encontrado para os dados do código de barras" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Peça de fornecedor correspondente" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "O item já foi recebido" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "Pedido de compra encontrado\\rNenhuma peça de fornecedor correspondente" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "Peça de fornecedor encontrada\\rNenhum pedido de compra correspondente" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "Nenhum plugin correspondente para o código de barras do fornecedor" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Vários itens de linha correspondentes encontrados" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Nenhum item de linha correspondente encontrado" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "Você não possui as permissões necessárias para pedidos de venda" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Nenhum pedido de venda fornecido" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "O código de barras não corresponde a um item de estoque existente" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "O item de estoque não corresponde ao item de linha" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Estoque disponível insuficiente" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Item de estoque alocado ao pedido de venda" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Informações insuficientes" @@ -8589,19 +8610,19 @@ msgstr "Dimensões de etiqueta inválidas" msgid "No valid items provided to template" msgstr "Nenhum item válido fornecido ao modelo" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Ofício" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Carta" @@ -8890,196 +8911,196 @@ msgstr "Sem resultado" msgid "Transferred" msgstr "Transferido" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "Caminho de arquivo de mídia inválido" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "Caminho de arquivo estático inválido" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "Arquivo de asset não encontrado" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Arquivo de imagem não encontrado" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "Nenhum arquivo de imagem especificado" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "A tag part_image requer uma instância de Part" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "A tag company_image requer uma instância de Company" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "Filtrar por profundidade do local" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "Filtrar por locais de nível superior" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "Incluir sublocais nos resultados filtrados" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Local pai" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Filtrar por local pai" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Nome da peça (não diferencia maiúsculas)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "Nome da peça contém (não diferencia maiúsculas)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Nome da peça (regex)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "IPN da peça (não diferencia maiúsculas)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "IPN da peça contém (não diferencia maiúsculas)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "IPN da peça (regex)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Estoque mínimo" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Estoque máximo" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Código de status" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Local externo" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "Consumido por pedido de produção" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "Instalado em outro item de estoque" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Árvore de peças" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "Atualizado antes de" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Atualizado após" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "Inventário antes de" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "Inventário após" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "Tem data de inventário" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Data de validade antes de" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Data de validade após" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Parado" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "Locais em cascata" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "Se verdadeiro, inclui itens nos locais filhos do local informado" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Filtrar por ID numérico do local ou o literal 'null'" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "A quantidade é obrigatória" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "A peça de fornecedor informada não existe" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "A peça de fornecedor tem um tamanho de pacote definido, mas o flag use_pack_size não está ativado" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Números de série não podem ser fornecidos para uma peça não rastreável" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "Incluir instalados" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Se verdadeiro, inclui resultados de teste dos itens instalados sob o item de estoque informado" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "Filtrar por ID numérico do item de estoque" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "O item de estoque com ID {id} não existe" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "Incluir variantes da peça" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "Data após" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "Data antes de" @@ -9346,115 +9367,115 @@ msgstr "Os números de série devem ser fornecidos como uma lista" msgid "Quantity does not match serial numbers" msgstr "A quantidade não corresponde aos números de série" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "O modelo de teste não existe" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "O item de estoque foi atribuído a um pedido de venda" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "O item de estoque está instalado em outro item" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "O item de estoque contém outros itens" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "O item de estoque foi atribuído a um cliente" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "O item de estoque está atualmente em produção" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Estoque serializado não pode ser mesclado" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Itens de estoque duplicados" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Os itens de estoque devem se referir à mesma peça" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "Os itens de estoque devem se referir à mesma peça de fornecedor" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Os códigos de status do estoque devem coincidir" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "O item de estoque não pode ser movido porque não está em estoque" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "Rastreamento do item de estoque" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Notas do registro" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "Resultado de teste do item de estoque" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Um valor deve ser fornecido para este teste" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "Um anexo deve ser enviado para este teste" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "Valor inválido para este teste" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Resultado do teste" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Valor de saída do teste" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Anexo do resultado do teste" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Notas do teste" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "Estação de teste" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "O identificador da estação de teste onde o teste foi realizado" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "Iniciado" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "A data/hora de início do teste" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Concluído" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "A data/hora de término do teste" @@ -9617,11 +9638,6 @@ msgstr "A quantidade a instalar não pode exceder a quantidade disponível" msgid "Destination location for uninstalled item" msgstr "Local de destino para o item desinstalado" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "Locais estruturais não podem receber itens de estoque" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Código de status do item de estoque" diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index 122a0df2b8..f2f92043ba 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Nu s-a putut converti {original} în {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Cantitate furnizata nevalida" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Detaliile de eroare pot fi găsite în panoul de administrare" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Valoare zecimală nevalidă" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Valoarea '{name}' nu apare în formatul modelului" msgid "Provided value does not match required pattern: " msgstr "Valoarea furnizată nu se potrivește cu modelul necesar: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Nu se pot serializa mai mult de 1000 de elemente odată" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Golire șir de numere de serie" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Număr de serie duplicat" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Grup nevalid: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Interval de grup {group} depășește cantitatea permisă ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Niciun număr de serie găsit" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "Numărul unic de numere de serie ({n}) trebuie să corespundă cu cantitatea ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Elimină tag-urile HTML din această valoare" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Datele conţin conţinut de marcaje interzis" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Eroare de conexiune" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Serverul a răspuns cu un cod de stare invalid" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Excepție apărută" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Serverul a răspuns cu o valoare de Content-Length invalidă" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Dimensiunea imaginii este prea mare" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Descărcarea imaginii a depăşit dimensiunea maximă" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Serverul la distanță a returnat un răspuns gol" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "URL-ul furnizat nu este un fișier imagine valid" @@ -280,7 +284,7 @@ msgstr "Alegere invalidă" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Nume" @@ -288,7 +292,7 @@ msgstr "Nume" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "A fost înregistrată o eroare de către server." msgid "Image" msgstr "Imagine" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Trebuie sa fie un număr valid" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Monedă" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Selectați moneda din opțiunile disponibile" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "Acest câmp nu poate fi null." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Valoare invalidă" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "Format de tip de conținut nevalid" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "Tipul de conținut nu a fost găsit" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "Tipul de conținut nu se potrivește cu mixin necesar clasei" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Construcție părinte" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "İnclude variante" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "İnclude variante" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "İnclude variante" msgid "Part" msgstr "Piesă" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Categorie" @@ -650,11 +654,11 @@ msgstr "Alocate mie" msgid "Assigned To" msgstr "Atribuit către" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Creat înainte de" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Creat după" @@ -706,18 +710,18 @@ msgstr "Exclude arbore" msgid "Build must be cancelled before it can be deleted" msgstr "Construcția trebuie anulată înainte de a putea fi ștearsă" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Opţional" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Asamblate" @@ -725,7 +729,7 @@ msgstr "Asamblate" msgid "Tracked" msgstr "Urmarit" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Testabilă" @@ -733,12 +737,12 @@ msgstr "Testabilă" msgid "Order Outstanding" msgstr "Comandă restantă" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Alocate" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Consumat" @@ -749,7 +753,7 @@ msgstr "Consumat" msgid "Available" msgstr "Disponibil" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Comenzi de Producție" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "Data țintă trebuie să fie după data de început" msgid "Build Order Reference" msgstr "Referință comandă producție" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Referință comandă de vânzare" msgid "Sales Order to which this build is allocated" msgstr "Comanda de vânzare pentru care această construcție este alocată" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Locație sursă" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Cod de lot pentru această producție" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Data creării" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Utilizatorul care a emis această comandă de producție" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Responsabil" @@ -965,7 +969,7 @@ msgstr "Utilizatorul sau grupul responsabil pentru această comandă de producț msgid "External Link" msgstr "Link extern" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Link către URL-ul extern" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "Nu se poate finaliza parțial o construcție cu elemente alocate" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Construiește obiectul" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "Cantitatea de stoc consumată" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Articolul contruit trebuie să specifice o ieșire de construcție, deoarece piesa principală este marcată ca urmăribilă." -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "Articolul din stoc selectat nu se potrivește cu linia BOM" @@ -1118,11 +1122,11 @@ msgstr "Cantitate alocata ({q}) nu trebuie sa depaseasca cantitatea disponibila msgid "Stock item is over-allocated" msgstr "Articolul din stoc este supra alocat" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Articol Stoc" @@ -1151,7 +1155,7 @@ msgstr "Nivel de construcție" msgid "Part Name" msgstr "Numele Piesei" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Rezultat de construcție" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Nu este permisă" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Acceptați nealocat" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Acceptați Incomplet" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Linie de construcție" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Rezultatul construirii" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Locația stocului de unde vor fi procurate piesele (lăsați necompletat pentru a prelua piesele din orice locație)" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Nume piesă BOM" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Producție" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Nume Categorie Piesă" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "În Producţie" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Stoc extern" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Stoc disponibil" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Stoc de înlocuire disponibil" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "Suspendat" msgid "Cancelled" msgstr "Anulat" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Descrierea proiectului" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Activ" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Titlu" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "Descrierea listei de selecție" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2308,7 +2317,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Nume fișier" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "" @@ -3017,7 +3026,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "Descrierea piesei furnizorului" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Descrierea piesei (opțional)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Versiunea" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "Este aceasta parte o versiune a unei alte părți?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Versiune Din" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Responsabil pentru acest capitol" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Descriere test" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Introduceți descrierea pentru acest test" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Este necesar acest test pentru a trece?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index d69490307d..877fb3372f 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Невозможно преобразовать {original} в {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "недопустимое количество" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Подробности об ошибке можно найти в панели администратора" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Не верное десятичное значение" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Значение '{name}' отсутствует в формате ша msgid "Provided value does not match required pattern: " msgstr "Предоставленное значение не соответствует требуемому формату: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Одновременно можно сериализовать только 1000 элементов" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Пустая строка серийного номера" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Повторяющийся серийный номер" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Недопустимая группа: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Диапазон группы {group} превышает допустимое количество ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Серийных номеров не найдено" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "Количество уникальных серийных номеров ({n}) должно быть равно ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Удалить HTML теги из этого значения" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Данные содержат недопустимую разметку" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "Недопустимый URL: имя хоста отсутствует" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "Недопустимый URL: не удалось разрешить имя хоста" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "URL указывает на частный или зарезервированный IP-адрес" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "Слишком много перенаправлений" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Ошибка соединения" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Сервер ответил неверным кодом статуса" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Произошло исключение" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Сервер ответил неверным значением Контент-Длина" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Изображение слишком большое" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Загрузка изображения превышен максимальный размер" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Удаленный сервер вернул пустой ответ" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Предоставленный URL не является допустимым файлом изображения" @@ -280,7 +284,7 @@ msgstr "Неверный выбор" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Название" @@ -288,7 +292,7 @@ msgstr "Название" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Сервер зарегистрировал ошибку." msgid "Image" msgstr "Изображение" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Валюта" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Выберите валюту из доступных вариантов" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "Это поле не может быть пустым." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "Неверный формат типа содержимого" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "Тип содержимого не найден" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "Тип содержимого не соответствует требуемому классу миксина" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Скопировать параметры" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "Копировать параметры из исходной позиции" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Копировать позиции" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Копировать позиции из исходного заказа" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Копировать дополнительные позиции" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Копировать дополнительные позиции из исходного заказа" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "Параметры дублирования" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "Укажите параметры дублирования этой позиции" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "Исходный" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "Выберите экземпляр для дублирования" @@ -597,20 +601,20 @@ msgstr "Родительский заказ на производство" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Включая варианты" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Включая варианты" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Включая варианты" msgid "Part" msgstr "Деталь" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Категория" @@ -650,11 +654,11 @@ msgstr "Назначено мне" msgid "Assigned To" msgstr "Назначено" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Создано до" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Создано после" @@ -706,18 +710,18 @@ msgstr "Исключить дерево" msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Расходник" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Необязательно" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Сборная деталь" @@ -725,7 +729,7 @@ msgstr "Сборная деталь" msgid "Tracked" msgstr "Отслеживается" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Тестируемая" @@ -733,12 +737,12 @@ msgstr "Тестируемая" msgid "Order Outstanding" msgstr "Невыполненные заказы" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Зарезервировано" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Потреблено" @@ -749,7 +753,7 @@ msgstr "Потреблено" msgid "Available" msgstr "Доступно" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Заказ на производство" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "Целевая дата должна быть после даты нач msgid "Build Order Reference" msgstr "Ссылка на заказ на производство" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Ссылка на заказ" msgid "Sales Order to which this build is allocated" msgstr "Заказ на продажу, которому принадлежит этот заказ на производство" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Место хранения комплектующих" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Код партии для продукции" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Дата создания" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Пользователь, создавший этот заказ на производство" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Ответственный" @@ -965,7 +969,7 @@ msgstr "Пользователь, ответственный за этот за msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "Невозможно частично завершить выход сб #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Объект производства" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "Количество израсходованного запаса" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент производства должен указать продукцию, как главную деталь помеченную как отслеживаемая" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "Выбранная складская позиция не соответствует позиции в BOM" @@ -1118,11 +1122,11 @@ msgstr "Резервируемое количество ({q}) не должно msgid "Stock item is over-allocated" msgstr "Складская позиция перераспределена" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Складская позиция" @@ -1151,7 +1155,7 @@ msgstr "Уровень сборки" msgid "Part Name" msgstr "Наименование детали" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Выход Продукции" @@ -1204,12 +1208,12 @@ msgstr "Автоматически выделить серийные номер msgid "Automatically allocate required items with matching serial numbers" msgstr "Автоматически зарезервировать необходимые элементы с соответствующими серийными номерами" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Необходимо представить список выхода деталей" @@ -1233,304 +1237,309 @@ msgstr "Причина списания продукции" msgid "Location for completed build outputs" msgstr "Место хранения для завершенной продукции" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "Складские позиции нельзя назначать структурным местам хранения" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Разрешить неполное резервирование" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "Завершить продукцию, даже если остатки не были полностью зарезервированы" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Израсходовать зарезервированные остатки" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "Израсходовать складские позиции, которые были зарезервированы для этой продукции" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Удалить незавершенную продукцию" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "Удалить всю незавершенную продукцию" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Запрещено" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Принять как поглощенный этим заказом на производство" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Отменить резерв, до завершения заказа на производство" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Перераспределенные запасы" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Как вы хотите обработать дополнительные складские позиции, назначенные для заказа на производство" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Некоторые складские позиции были перераспределены" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Разрешить не полное резервирование" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Подтвердите, что складские позиции не были полностью зарезервированы для этого заказа на производство" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Необходимые запасы не были полностью зарезервированы" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Разрешить незавершенные производимые детали" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "Допустить, что требуемое кол-во продукции не завершено" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Требуемое количество деталей не было произведено" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "Производственный заказ имеет незавершённые дочерние заказы" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "Заказ на производство должен быть в стадии выполнения" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Заказ на производство имеет незавершенную продукцию" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Позиция для производства" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Выход продукции" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "Продукция должна указывать на тот же производство" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Позиция для производства" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part должна указывать на ту же часть, что и заказ на производство" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Элемент должен быть в наличии" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "Продукция должна быть указан для резервирования отслеживаемых частей" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Продукция не может быть указана для резервирования не отслеживаемых частей" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Необходимо указать резервируемые элементы" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Место хранения, где будут зарезервированы детали (оставьте пустым, чтобы забрать их из любого места)" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Исключить место хранения" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Исключить складские позиции из этого выбранного места хранения" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Обменный остаток" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Складские позиции в нескольких местах могут использоваться на взаимозаменяемой основе" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Заменить остатки" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Разрешить резервирование замещающих деталей" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Необязательные элементы" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Зарезервировать необязательные позиции BOM для заказа на производство" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "Все позиции" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "Неотслеживаемые позиции" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "Отслеживаемые позиции" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "Тип позиции" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "Выберите тип позиции для автоматического резервирования" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "Приоритет запасов" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "Предпочтительный порядок списания подходящих складских позиций" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "Строки сборки" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "Ограничить резервирование этими строками сборки (оставьте пустым, чтобы резервировать все строки)" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Ссылка на спецификацию (BOM)" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "ID детали в спецификации (BOM)" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Название детали в спецификации (BOM)" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "Установить в" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Сборка" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Деталь поставщика" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Зарезервированное количество" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Ссылка на сборку" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Название категории детали" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Отслеживание" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Унаследованные" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Есть варианты" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Позиция BOM" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "Запланировано к сборке" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Внешний склад" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Доступный запас" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Доступный запас заменителей" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Доступный запас вариантов" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "Потреблённое количество превышает выделенное количество" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "Дополнительные примечания по расходу запаса" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "Элемент сборки должен ссылаться на правильный заказ на сборку" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "Дублирование выделения элемента сборки" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "Строка сборки должна ссылаться на правильный заказ на сборку" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "Дублирование выделения строки сборки" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "Должен быть указан хотя бы один элемент или строка" @@ -1555,7 +1564,7 @@ msgstr "Отложен" msgid "Cancelled" msgstr "Отменён" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Не указаны действительные коды валют" msgid "No plugin" msgstr "Нет плагина" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "Теги" @@ -1667,8 +1676,8 @@ msgstr "Описание проекта" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Активный" @@ -1716,7 +1725,7 @@ msgstr "Строка ключа должна быть уникальной" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Заголовок" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Ссылка" @@ -1896,7 +1905,7 @@ msgstr "Определение" msgid "Unit definition" msgstr "Определение единицы измерения" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Вложения" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "Логическое состояние, соответствующее пользовательскому состоянию в бизнес-логике" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Значение" @@ -2098,7 +2107,7 @@ msgstr "Название списка выбора" msgid "Description of the selection list" msgstr "Описание списка выбора" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Заблокирована" @@ -2206,7 +2215,7 @@ msgstr "У параметров-переключателей не может б msgid "Checkbox parameters cannot have choices" msgstr "У параметров-переключателей не может быть вариантов" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Варианты должны быть уникальными" @@ -2222,7 +2231,7 @@ msgstr "Тип целевой модели для этого шаблона па msgid "Parameter Name" msgstr "Название параметра" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Единица измерения" @@ -2242,7 +2251,7 @@ msgstr "Переключатель" msgid "Is this parameter a checkbox?" msgstr "Этот параметр является переключателем?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Варианты" @@ -2254,7 +2263,7 @@ msgstr "Возможные варианты этого параметра (ра msgid "Selection list for this parameter" msgstr "Список выбора для этого параметра" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Включено" @@ -2308,7 +2317,7 @@ msgstr "Шаблон" msgid "Parameter template" msgstr "Шаблон параметра" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Данные" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Значение параметра" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Данные штрихкода" msgid "User who scanned the barcode" msgstr "Пользователь, который сканировал штрих-код" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Метка времени" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "Данные ответа от сканирования штрихкода" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Результат" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Имя файла" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Тип модели" @@ -3008,7 +3017,7 @@ msgstr "По умолчанию детали являются шаблонами msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Компонент" @@ -3017,7 +3026,7 @@ msgstr "Компонент" msgid "Parts can be used as sub-components by default" msgstr "По умолчанию детали могут использоваться в качестве суб-компонентов" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Можно купить" @@ -3025,7 +3034,7 @@ msgstr "Можно купить" msgid "Parts are purchaseable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Можно продавать" @@ -3037,7 +3046,7 @@ msgstr "Детали продаются по умолчанию" msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Виртуальная" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Производитель" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Компания" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Ссылка на адресную информацию (внешняя)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Производитель детали" @@ -4574,7 +4583,7 @@ msgstr "Связанная деталь производителя должна #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Поставщик" @@ -4610,11 +4619,11 @@ msgstr "Ссылка на сайт поставщика" msgid "Supplier part description" msgstr "Описание детали поставщика" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Минимальная плата (например, складская)" @@ -4635,7 +4644,7 @@ msgstr "Количество в упаковке" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Общее количество, поставляемое в одной упаковке. Оставьте пустым для отдельных элементов." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "множественные" @@ -4731,152 +4740,152 @@ msgstr "Оформлен" msgid "Invalid status code" msgstr "Недопустимый код статуса" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Файл данных" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "Файл с данными импорта" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Столбцы" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "Целевой тип модели для этой сессии импорта" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "Статус импорта" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Значения по умолчанию" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "Переопределения полей" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Фильтры полей" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "Обновлять существующие записи" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "Если включено, существующие записи будут обновлены новыми данными" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Некоторые обязательные поля не были сопоставлены" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "История количества завершённых строк" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "История количества строк" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "Существующий идентификатор записи в базе данных" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "Колонка уже сопоставлена с полем базы данных" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "Поле уже сопоставлено с колонкой данных" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "Сопоставление столбцов должно быть связано с корректным сеансом импорта" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "Колонка не существует в файле данных" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "Поле не существует в целевой модели" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "Выбранное поле доступно только для чтения" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "Поле поиска можно задать только для связанных полей (внешних ключей)" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "Недопустимое поле поиска. Допустимые варианты: {options}" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Сессия импорта" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Поле" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Колонка" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "Поле поиска" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "Поле базы данных для поиска по внешнему ключу. Оставьте пустым для автоматического поиска." -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Номер строки" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Исходные данные строки" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Ошибки" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Корректный" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "Найдено несколько совпадений для значения — убедитесь, что значение уникально, или выберите конкретное поле поиска" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "Запись с указанным ID не найдена" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "Указан недействительный формат ID" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "Для обновления существующих записей требуется ID." -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Неподдерживаемый формат файла данных" @@ -4884,7 +4893,11 @@ msgstr "Неподдерживаемый формат файла данных" msgid "Failed to open data file" msgstr "Не удалось открыть файл данных" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Недопустимые размеры файла данных" @@ -5692,7 +5705,7 @@ msgstr "Количество должно быть 1 для сериализир msgid "Sales order does not match shipment" msgstr "Заказ на продажу не соответствует отгрузке" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "Отгрузка не соответствует заказу на продажу" @@ -5908,7 +5921,7 @@ msgstr "Объединять в одну позицию элементы, у к msgid "SKU" msgstr "Артикул" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Внутренний артикул детали" @@ -6176,7 +6189,7 @@ msgstr "Помечено звёздочкой" msgid "Filter by starred categories" msgstr "Фильтровать по отмеченным категориям" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Глубина" @@ -6184,7 +6197,7 @@ msgstr "Глубина" msgid "Filter by category depth" msgstr "Фильтровать по глубине категории" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Верхний уровень" @@ -6192,7 +6205,7 @@ msgstr "Верхний уровень" msgid "Filter by top-level categories" msgstr "Фильтровать по категориям верхнего уровня" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "Каскад" @@ -6212,11 +6225,11 @@ msgstr "Фильтровать по родительской категории" msgid "Exclude sub-categories under the specified category" msgstr "Исключить подкатегории указанной категории" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "Максимальный уровень" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "Ограничить глубину дерева категорий" @@ -6296,722 +6309,722 @@ msgstr "На складе" msgid "Uses" msgstr "Использования" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Категория детали" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Категория детали" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Место хранения по умолчанию" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Структура" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Детали не могут быть непосредственно отнесены к структурной категории, но могут быть отнесены к дочерним категориям." -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Ключевые слова по умолчанию" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Значок" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Значок (необязательно)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Вы не можете сделать эту категорию деталей структурной, потому что некоторые детали уже назначены ей!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "Шаблон параметров категории деталей" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Значение по умолчанию" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Значение параметра по умолчанию" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Детали" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "Нельзя удалить параметры заблокированной детали" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "Нельзя изменить параметры заблокированной детали" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "Нельзя удалить эту деталь, так как она заблокирована" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "Нельзя удалить эту деталь, так как она ещё активна" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "Нельзя удалить эту деталь, так как она используется в сборке" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Деталь '{self}' не может быть использована в спецификации для '{parent}' (рекурсивно)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Деталь '{parent}' используется в спецификации для '{self}' (рекурсивно)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN должен соответствовать регулярному выражению {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "Деталь не может быть ревизией самой себя" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "Для детали, отмеченной как ревизия, необходимо указать код ревизии" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "Ревизии разрешены только для сборочных деталей" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "Нельзя сделать ревизию шаблонной детали" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "Родительская деталь должна указывать на тот же шаблон" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "Складская позиция с этим серийным номером уже существует" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "Дублирующий IPN не разрешён в настройках детали" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "Дублирующая ревизия детали уже существует." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Деталь с таким именем, внутренним артикулом и ревизией уже существует." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Детали не могут быть назначены структурным категориям!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Разновидность" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Описание детали (необязательно)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Ключевые слова" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Категория" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Внутренний артикул" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Ревизия или серийный номер детали" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Ревизия" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "Является ли эта деталь ревизией другой детали?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Ревизия от" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Срок действия по умолчанию" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для складских позиций этой детали" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Минимальный запас" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "Максимальный запас" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "Максимально допустимый уровень запаса" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Единицы измерения этой детали" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "Можно ли в этой детали записывать результаты тестов?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Эта деталь активна?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Заблокированные детали нельзя редактировать" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "Эта деталь является расходным материалом, например клеем или крепежом?" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "Спецификация подтверждена" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "Валидна ли спецификация для этой детали?" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Контрольная сумма BOM" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Сохранённая контрольная сумма спецификации" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "BOM проверил" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Дата проверки BOM" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Создатель" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Ответственный владелец этой детали" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Продать несколько" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Валюта, используемая для кэширования расчётов цен" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Минимальная Стоимость BOM" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Минимальная стоимость компонентных деталей" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Максимальная Стоимость BOM" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Максимальная стоимость компонентных деталей" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Минимальная стоимость закупки" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Минимальная историческая стоимость закупки" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Максимальная стоимость закупки" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Максимальная историческая стоимость закупки" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Минимальная внутренняя цена" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Минимальная стоимость на основе внутренних ценовых уровней" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Максимальная внутренняя цена" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Максимальная стоимость на основе внутренних ценовых уровней" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Минимальная цена поставщика" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Минимальная цена детали от внешних поставщиков" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Максимальная цена поставщика" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Максимальная цена детали от внешних поставщиков" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Минимальная стоимость варианта" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Расчётная минимальная стоимость вариантов деталей" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Максимальная стоимость варианта" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Расчётная максимальная стоимость вариантов деталей" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Минимальная Стоимость" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Переопределить минимальную стоимость" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Максимальная Стоимость" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Переопределить максимальную стоимость" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Расчётная общая минимальная стоимость" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Расчётная общая максимальная стоимость" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Минимальная цена продажи" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Минимальная цена продажи на основе ценовых уровней" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Максимальная цена продажи" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Максимальная цена продажи на основе ценовых уровней" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Минимальная стоимость продажи" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Минимальная историческая цена продажи" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Максимальная стоимость продажи" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Максимальная историческая цена продажи" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Деталь для инвентаризации" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Количество элементов" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Количество отдельных складских позиций на момент инвентаризации" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Общий доступный запас на момент инвентаризации" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Дата" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Дата проведения инвентаризации" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Минимальная стоимость запасов" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Оценочная минимальная стоимость имеющихся запасов" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Максимальная стоимость запасов" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Оценочная максимальная стоимость имеющихся запасов" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "Цена продажи детали по порогу" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "Внутренний ценовой порог детали" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "Шаблон теста детали" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Недопустимое имя шаблона — должно содержать хотя бы один буквенно-цифровой символ" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Шаблоны тестов можно создавать только для тестируемых деталей" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "Шаблон теста с тем же ключом уже существует для детали" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "Ключ теста" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Упрощённый ключ для теста" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Описание теста" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "Активен ли данный тест?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Необходим" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Необходимо ли пройти этот тест?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Требуется значение" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "Требуется ли значение для этого теста при добавлении результата?" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Требуются вложения" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "Требуется ли прикреплять вложение в виде файла при добавлении результатов теста?" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "Допустимые варианты данного теста(через запятую)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "Недопустимое количество: для детали не указаны единицы измерения" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "Количество должно быть больше или равно нулю" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "Пункт спецификации нельзя изменить — сборка заблокирована" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Пункт спецификации нельзя изменить — вариант сборки заблокирован" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Суб-деталь" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "Количество" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "Количество вложенной детали, расходуемое для производства одной детали" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Количество элементов в спецификации" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Эта позиция спецификации необязательна" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Эта позиция - расходник (она не отслеживается в заказах на производство)" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "Количество для подготовки" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Дополнительное требуемое количество для сборки, учитывающее потери при подготовке" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "Потери" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Оценочные потери для сборки, выраженные в процентах (0–100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "Округление до кратности" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Округлять требуемое производственное количество до ближайшего кратного этого значения" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Ссылка на позицию спецификации" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Заметка о позиции в спецификации" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Контрольная сумма" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Контрольная сумма строки спецификации" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Проверен" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Этот пункт спецификации подтверждён" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Наследуется" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Позиция спецификации наследуется разновидностями детали" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Эту позицию можно заменять деталями, которые находятся на складе" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Необходимо указать поддеталь" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Замена пункта спецификации" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "Деталь для замены не может быть такой же, как основная деталь" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Позиция BOM-родителя" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Замена детали" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Деталь 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Деталь 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Выберите связанную деталь" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Заметка для данной связи" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "Нельзя создать отношение детали с самой собой" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Дублирующее отношение уже существует" @@ -7375,41 +7388,41 @@ msgstr "Копировать детали-заменители" msgid "Copy substitute parts when duplicate BOM items" msgstr "Копировать детали-заменители при дублировании пунктов спецификации" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Уведомление о низком уровне запаса" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Доступный запас для {part.name} упал ниже настроенного минимального уровня" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "Уведомление о просроченном запасе" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "У вас 1 складская единица приближается к дате истечения срока годности" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "У вас {item_count} складских единиц приближаются к дате истечения срока годности" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "Нет даты истечения" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "Истёк {abs(days_diff)} дней назад" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "Истекает сегодня" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry} дней" @@ -7462,71 +7475,79 @@ msgstr "Экземпляр модели не найден" msgid "Barcode matches existing item" msgstr "Штрихкод соответствует существующему элементу" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Не найдено соответствующих данных детали" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Не найдено соответствующих поставляемых деталей" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Найдено несколько соответствующих поставляемых деталей" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "Плагин, соответствующий данным штрихкода, не найден" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Соответствующая поставляемая деталь" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "Предмет уже был получен" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "Заказ на закупку найден\\rНет совпадения с деталью поставщика" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "Деталь поставщика найдена\\rНет совпадения с заказом на закупку" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "Нет совпадения плагина для штрихкода поставщика" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Найдено несколько соответствующих позиций" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Не найдено соответствующей позиции" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Заказ на продажу не указан" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "Штрих-код не соответствует существующим складским позициям" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "Складская позиция не соответствует позиции" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Недостаточно запаса" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Складская позиция зарезервирована заказом на продажу" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Недостаточно информации" @@ -8589,19 +8610,19 @@ msgstr "Недопустимые размеры этикетки" msgid "No valid items provided to template" msgstr "Ни одного допустимого элемента не предоставлено для шаблона" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Правовая информация" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Письмо" @@ -8890,196 +8911,196 @@ msgstr "Нет результата" msgid "Transferred" msgstr "Перемещено" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "Недопустимый путь к медиафайлу" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "Недопустимый путь к статическому файлу" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "Файл ресурса не найден" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Файл изображения не найден" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "Файл изображения не указан" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "Тег part_image требует экземпляр детали" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "Тег company_image требует экземпляр компании" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "Фильтровать по глубине местоположения" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "Фильтровать по местоположениям верхнего уровня" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "Включать подместоположения в отфильтрованные результаты" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Основной склад" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Фильтровать по родительскому местоположению" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Название детали (без учёта регистра)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "Название детали содержит (без учёта регистра)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Название детали (regex)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "IPN детали (без учёта регистра)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "IPN детали содержит (без учёта регистра)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "IPN детали (regex)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Минимальный запас" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Максимальный запас" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Код статуса" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Внешнее местоположение" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "Израсходовано для заказов на сборку" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "Установлено в другом складе" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Древо Деталей" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "Обновлено до" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Обновлено после" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "Инвентаризация до" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "Инвентаризация после" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "Есть дата инвентаризации" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Дата истечения до" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Дата истечения после" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Залежалый" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "Каскад местоположений" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "Если включено, включать элементы в дочерних местоположениях данного местоположения" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Фильтровать по числовому идентификатору местоположения или литералу 'null'" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Необходимо указать количество" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Необходимо предоставить действительную деталь" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "Указанная поставляемая деталь не существует" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "У поставляемой детали определён размер упаковки, но флаг use_pack_size не установлен" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Не нужно указывать серийные номера для неотслеживаемых деталей" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "Включать установленные" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Если включено, включать результаты тестов для предметов, установленных под данным складским элементом" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "Фильтровать по числовому идентификатору складского элемента" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "Складской элемент с ID {id} не существует" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "Включая варианты деталей" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "После" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "До" @@ -9346,115 +9367,115 @@ msgstr "Серийные номера должны быть предоставл msgid "Quantity does not match serial numbers" msgstr "Количество не соответствует серийным номерам" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "Шаблон теста не существует" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "Складская позиция была назначена заказу на продажу" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Складская позиция установлена в другую деталь" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "Складская позиция содержит другие детали" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Складская позиция была назначена покупателю" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "Складская позиция в производстве" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Серийные запасы нельзя объединить" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Дублирующие складские элементы" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Складские позиции должны ссылаться на одну и ту же деталь" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "Складские позиции должны ссылаться на одну и ту же деталь поставщика" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Коды статуса запаса должны совпадать" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "Складской элемент нельзя переместить, так как он отсутствует на складе" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "Отслеживание складского элемента" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Заметки к записи" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "Результат теста складского элемента" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Для этого теста должно быть указано значение" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "Для этого теста требуется загрузить вложения" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "Недопустимое значение для этого теста" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Результат тестирования" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Результат выполнения теста" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Вложение с результатом теста" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Заметки о тестировании" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "Испытательное оборудование" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "Идентификатор испытательного оборудования, на котором выполнялось тестирование" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "Запущен" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "Время начала тестирования" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Завершён" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "Время окончания тестирования" @@ -9617,11 +9638,6 @@ msgstr "Количество для установки не должно пре msgid "Destination location for uninstalled item" msgstr "Место назначения для демонтированного элемента" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "Складские позиции нельзя назначать структурным местам хранения" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Статус складской позиции" diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 30003a2e40..a415eb80c1 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "" @@ -280,7 +284,7 @@ msgstr "" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "" @@ -288,7 +292,7 @@ msgstr "" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "" @@ -725,7 +729,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -965,7 +969,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2308,7 +2317,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "" @@ -3017,7 +3026,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 28df02dc73..c5beb4f8a7 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Ni mogoče pretvoriti {original} v {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Podana napačna količina" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Podrobnosti napake so vidne v pogledu administratorja" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Vrednost '{name}' ni v predpisanem formatu" msgid "Provided value does not match required pattern: " msgstr "Podana vrednost se ujema s predpisanim vzorcem: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Prazno polje serijske številke" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Dvojna serijska številka" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Serijske številke niso najdene" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Odstranite oznako HTML iz te vrednosti" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Napaka povezave" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Odziv serverja: napravilni status kode" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Pojavila se je izjema" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Odziv serverja: napačna dolžina vrednosti" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Prevelika velikost slike" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Prenos slike presegel največjo velikost" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Oddaljeni server vrnil prazen odziv" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Podani URL ni veljavna slikovna datoteka" @@ -280,7 +284,7 @@ msgstr "Nedovoljena izbira" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Ime" @@ -288,7 +292,7 @@ msgstr "Ime" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Zaznana napaka na strežniku." msgid "Image" msgstr "" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Izberite valuto med razpoložljivimi možnostmi" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Neveljavna vrednost" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Nadrejena izgradnja" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "" @@ -650,11 +654,11 @@ msgstr "Dodeljeno meni" msgid "Assigned To" msgstr "Dodeljeno" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Neobvezno" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Montaža" @@ -725,7 +729,7 @@ msgstr "Montaža" msgid "Tracked" msgstr "Sledi" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Testno" @@ -733,12 +737,12 @@ msgstr "Testno" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Dodeljeno" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "Na voljo" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Nalog izgradnje" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Referenca dobavnica" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Lokacija vira" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Datum ustvarjenja" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Odgovoren" @@ -965,7 +969,7 @@ msgstr "Odgovorni uporabnik ali skupina za to naročilo" msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Zunanja povezava" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Postavka zaloge" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Izgradnja" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "Preklicano" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktivno" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Povezava" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Priloga" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2308,7 +2317,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Ime datoteke" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "" @@ -3017,7 +3026,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "Postavljeno" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Podatki datoteke" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index cd3ac9dde2..0c18e40278 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Nije moguće konvertovati {original} u {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Isporučena nevažeća količina" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Detalji o grešci se mogu naći u admin sekciji" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Neispravna decimalna vrednost" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Vrednost '{name}' se ne pojavljuje u formatu obrasca" msgid "Provided value does not match required pattern: " msgstr "Navedena vrednost ne odgovara traženom obrascu: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Nije moguće dati više od 1000 serijskih brojeva stavkama odjednom" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Serijski broj nije popunjen" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Dupliciraj serijski broj" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Nevažeća grupa: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Nisu pronađeni serijski brojevi" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Uklonite HTML oznake iz ove vrednosti" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Podatak sadrži zabranjen jezički sadržaj" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Greška u povezivanju" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Server je odgovorio nevažećim statusnim kodom" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Došlo je do izuzetka" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 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:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Veličina slike je prevelika" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Preuzimanje slike premašilo je maksimalnu veličinu" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Udaljeni server vratio je prazan odgovor" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Navedeni URL nije važeća slikovna datoteka" @@ -280,7 +284,7 @@ msgstr "Nevažeći izvor" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Ime" @@ -288,7 +292,7 @@ msgstr "Ime" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Server je zabležio grešku." msgid "Image" msgstr "Slika" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Mora biti važeći broj" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Odaberite valutu među dostupnim opcijama" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Nevažeća vrednost" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Kopiraj parametre" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Kopiraj porudžbine" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Kopiraj stavke porudžbine sa originalnog naloga" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Kopiraj dodatne porudžbine" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Kopiraj dodatne stavke porudžbine sa originalnog naloga" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Roditeljski proizvod" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Uključi varijante" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Uključi varijante" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Uključi varijante" msgid "Part" msgstr "Deo" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Kategorija" @@ -650,11 +654,11 @@ msgstr "Dodeljeno meni" msgid "Assigned To" msgstr "Dodeljeno" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Kreirano pre" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Kreirano nakon" @@ -706,18 +710,18 @@ msgstr "Ne uključuj stablo" msgid "Build must be cancelled before it can be deleted" msgstr "Proizvod mora biti poništen pre nego što se izbriše" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Potrošni materijal" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Opciono" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Sklapanje" @@ -725,7 +729,7 @@ msgstr "Sklapanje" msgid "Tracked" msgstr "Praćeno" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Proverljivo" @@ -733,12 +737,12 @@ msgstr "Proverljivo" msgid "Order Outstanding" msgstr "Neizmirena narudžbina" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Alocirano" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "Dostupno" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Nalog za izradu" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Reference naloga za pravljenje" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Referenca naloga za prodaju" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Lokacija izvora" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Kod izgradnje za ovaj izlaz" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "datum kreiranja" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Korisnik koji je izdao nalog za izgradnju" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Odgovoran" @@ -965,7 +969,7 @@ msgstr "Korisnik ili grupa koja je odgovorna za ovaj nalog za izgradnju" msgid "External Link" msgstr "Spoljašnja konekcija" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Link za eksterni URL" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Objekat izgradnje" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Stavka izgradnje mora imati izlaz izgradnje, jer je nadređeni deo markiran da može da se prati" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "Izabrana stavka zaliha se ne slaže sa porudžbinom sa spiska materijala" @@ -1118,11 +1122,11 @@ msgstr "Alocirana količina ({q}) ne sme da bude veća od količine dostupnih za msgid "Stock item is over-allocated" msgstr "Stavka zaliha je prealocirana" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Stavka zaliha" @@ -1151,7 +1155,7 @@ msgstr "Nivo izgradnje" msgid "Part Name" msgstr "Ime dela" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Izlaz izgradnje" @@ -1204,12 +1208,12 @@ msgstr "Automatski alociraj serijske brojeve" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatski alociraj tražene stavke sa odgovarajućim serijskim brojevima" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "Sledeći serijski brojevi već postoje ili su neispravni" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Lista izlaza izgradnje se mora obezbediti" @@ -1233,304 +1237,309 @@ msgstr "Razlog za otpisane izlaz(e) izgradnje" msgid "Location for completed build outputs" msgstr "Lokacija za završene izlaze izgradnje" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Prihvati nekompletirane Alokacije" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "kompletiraj izlaze ako zalihe nisu u potpunosti alocirane" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Troši alocirane zalihe" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "Troši bilo koje zalihe koje su već alocirane za ovu izgradnju" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Ukloni nekompletirane izlaze" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "Izbriši svei izlaze izgradnje koji nisu kompletirani" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Nije dozvoljeno" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Prihvati kao potrošeno od strane ovog naloga za izgradnju" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Izmesti bre završetka ovog naloga za izgradnju" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Sveukupne izdvojene zalihe" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Šta želite da radite sa viškom stavki u zalihama koje su dodeljene nalogu za izgradnju?" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Neke stavke zaliha su prealocirane" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Prihvati nealocirano" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Prihvati da stavke zaliha nisu u potpunosti alocirane za ovaj nalog za izgradnju" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Tražene zalihe nisu u potpunosti alocirane" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Prihvati nekompletirano" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "Prihvati da je traženi broj izlaza izgradnje nekompletan" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Traženi broj izgradnji nije kompletan" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "Nalog za izgradnju ima otvoren potčinjene naloge za izgradnju" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "Nalog za izgradnju mora biti u stanju produkcije" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Nalog za izgradnju ima nekompletne izlaze" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Porudžbina izgradnje" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Izlaz izgradnje" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "Izlaz izgradnje mora da referencira istu izgradnju" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Stavka porudžbine za izradu" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part mora da se referencira istom delu kao u nalogu za izgradnju" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Stavka mora da bude u zalihama" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "Izlaz izgradnje mora da određen za alokaciju praćenih delova" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Izlaz izgradnje ne može biti određen za alokaciju nepraćenih delova" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Stavke alociranja se moraju odrediti" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lokacija zaliha koje će da budu izvor delova (ostavi prazno ukoliko uzimate sa bilo koje lokacije)" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Isključi lokaciju" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Isključi stavke zaliha za ovu selektovanu lokaciju" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Zamenljive zalihe" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Stavke zaliha koje su na različitim lokacijama se mogu međusobno menjati" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Zamenske zalihe" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Dozvoli alociranje delova koji su zamenski" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Opcionalne stavke" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "Alociraj opcione BOM stavke na nalog za izgradnju" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "Referenca BOM" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "BOM ID dela" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "BOM ime dela" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Deo dobavljača" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Alocirana količina" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Referenca izgradnje" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Ime kategorije dela" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Može da se prati" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Nasleđen" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Dozvoli varijante" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "BOM stavka" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "U proizvodnji" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Spoljašnje zalihe" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Dostupne zalihe" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Dostupne zamenske zalihe" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Dostupne varijante zaliha" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "Na čekanju" msgid "Cancelled" msgstr "Otkazano" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Nisu obezbeđeni ispravni kodovi valuta" msgid "No plugin" msgstr "Nema dodataka" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Opis projekta" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktivan" @@ -1716,7 +1725,7 @@ msgstr "Tekstualni ključ mora da bude jedinstven" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Naslov" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" @@ -1896,7 +1905,7 @@ msgstr "Definicija" msgid "Unit definition" msgstr "Definicija jedinice" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Prilog" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "Stanje logičkog ključa je jednako posebnom ključu u poslovnoj logici" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Vrednost" @@ -2098,7 +2107,7 @@ msgstr "Ime liste odabira" msgid "Description of the selection list" msgstr "Opis liste odabira" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Zaključano" @@ -2206,7 +2215,7 @@ msgstr "Checkbox parametri ne mogu imati jedinice" msgid "Checkbox parameters cannot have choices" msgstr "Checkbox parametri ne mogu imati izbore" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Izbori moraju biti jedinstveni" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "Naziv parametra" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Jedinice" @@ -2242,7 +2251,7 @@ msgstr "Polje za potvrdu" msgid "Is this parameter a checkbox?" msgstr "Da li je ovaj parametar checkbox?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Izbori" @@ -2254,7 +2263,7 @@ msgstr "Validni izbori za ovaj parametar (razdvojeni zapetom)" msgid "Selection list for this parameter" msgstr "Lista izbora za ovaj parametar" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Omogućen" @@ -2308,7 +2317,7 @@ msgstr "Šablon" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Podaci" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Vrednost parametra" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Podaci bar koda" msgid "User who scanned the barcode" msgstr "Korisnik koji je skenirao bar kod" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Vremenski trag" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "Podaci odgovora za skeniranje bar koda" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Rezultat" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Ime datoteke" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Tip modela" @@ -3008,7 +3017,7 @@ msgstr "Podrazumevano je da su delovi šabloni" msgid "Parts can be assembled from other components by default" msgstr "Podrazumevano je da se delovi mogu sastavljati od drugih komponenti" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Komponenta" @@ -3017,7 +3026,7 @@ msgstr "Komponenta" msgid "Parts can be used as sub-components by default" msgstr "Podrazumevano je da se delovi mogu koristi kao pod-komponente" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Može da se kupi" @@ -3025,7 +3034,7 @@ msgstr "Može da se kupi" msgid "Parts are purchaseable by default" msgstr "Podrazumevano je da se delovi mogu kupiti" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Može da se proda" @@ -3037,7 +3046,7 @@ msgstr "podrazumevano je da delovi mogu da se prodaju" msgid "Parts are trackable by default" msgstr "Podrazumevano je da delovi mogu da se prate" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtuelni" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Proizvođač" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Kompanija" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Link za adresne informacije (eksterni)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Deo proizvođača" @@ -4574,7 +4583,7 @@ msgstr "Povezani delovi dobavljača moraju referencirati isti osnovni deo" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Dobavljač" @@ -4610,11 +4619,11 @@ msgstr "URL za link dela eksternog dobavljača" msgid "Supplier part description" msgstr "Opis dela dobavljača" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "osnovni trošak" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimalna naplata (npr. taksa za slaganje)" @@ -4635,7 +4644,7 @@ msgstr "Količina pakovanja" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Ukupna količina dostavljena u jednom pakovanju. Ostaviti prazno za pojedinačne stavke." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "više" @@ -4731,152 +4740,152 @@ msgstr "Postavljen" msgid "Invalid status code" msgstr "Nevažeći statusni kod" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Datoteka" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "Fajl sa podacima za uvoz" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Kolone" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "Status uvoza" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Podrazumevane vrednosti polja" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "Promene polja" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Filteri polja" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Neka neophodna polja nisu mapirana" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "Kolona je već mapirana u polje u bazi podataka" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "Polje je već mapirano u kolonu sa podacima" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "Mapiranje kolona mora biti linkovano da bi se uvezla važeća sesija" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "Kolona ne postoji u fajlu sa podacima" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "Polje ne postoji u ciljnom modelu" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "Izabrano polje je samo za čitanje" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Uvezi sesiju" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Polje" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Kolona" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Indeks vrsta" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Originalni podaci vrste" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Greške" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Važeće" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Nije podržan format fajla sa podacima" @@ -4884,7 +4893,11 @@ msgstr "Nije podržan format fajla sa podacima" msgid "Failed to open data file" msgstr "Greška pri otvaranju fajla sa podacima" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Nevažeće dimenzije fajla sa podacima" @@ -5692,7 +5705,7 @@ msgstr "Količina mora biti 1 za serijalizovane stavke sa zaliha" msgid "Sales order does not match shipment" msgstr "Nalog za prodaju se ne poklapa sa isporukom" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "Isporuka se ne poklapa sa nalogom za prodaju" @@ -5908,7 +5921,7 @@ msgstr "Spoj stavke sa istim delom, odredištem i ciljanim datumom u jednu stavk msgid "SKU" msgstr "Jedinica za praćenje zaliha" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Interni broj dela" @@ -6176,7 +6189,7 @@ msgstr "Označeno zvezdicom" msgid "Filter by starred categories" msgstr "Filtiraj po kategorijama označenim zvezdicom" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Dubina" @@ -6184,7 +6197,7 @@ msgstr "Dubina" msgid "Filter by category depth" msgstr "Filtriraj po dubini kategorije" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Vrhovni" @@ -6192,7 +6205,7 @@ msgstr "Vrhovni" msgid "Filter by top-level categories" msgstr "Filtriraj po vrhovnim kategorijama" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "Kaskadno" @@ -6212,11 +6225,11 @@ msgstr "Filtriraj po nadređenoj kategoriji" msgid "Exclude sub-categories under the specified category" msgstr "Ne uključuj pod-kategorije pod specifičnom kategorijom" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "Koristi" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Kategorija dela" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Kategorije delova" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Podrazumevana lokacija" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Podrazumevana lokacija za delove ove kategorije" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Strukturno" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Delovi ne mogu biti direktno dodeljene strukturnoj kategoriji, ali mogu biti dodeljeni podređenim kategorijama." -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Podrazumevane ključne reči" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Podrazumevane ključne reči za delove ove kategorije" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Ikonica" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Ikonica (opciono)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Ova kategorija dela se ne može podesiti kao strukturna jer već ima dodeljene neke delove!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "Šablon parametara kategorije dela" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Podrazumevana vrednost" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Podrazumevana vrednost parametra" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Delovi" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "Ovaj deo se ne može izbrisati jer je zaključan" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "Ovaj deo se ne može izbrisati jer je i dalje aktivan" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "Ovaj deo se ne može obrisati jer se koristi u sklopu" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "Deo '{self}' ne može biti korišćen u spisku materijala za '{parent}' (recursive)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "Deo '{parent}' se koristi u spisku materijala za '{self}' (recursive)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "Interni broj dela se mora slagati sa regex šablonom {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "Deo ne može biti revizija samog sebe" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "Revizije su dozvoljene samo za delove sklopove" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "Ne može se izvršiti revizija šablonskog dela" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "Nadređeni deo mora biti vezan sa istim šablonom" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "Stavka sa ovim serijskim brojem već postoji" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplirani interni brojevi dela nisu dozvoljeni u podešavanjima dela" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "Identična revizija dela već postoji" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Deo sa ovim nazivom, internim brojem dela i revizijom već postoji" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Delovi ne mogu biti dodeljeni strukturnim kategorijama delova!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Naziv dela" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Jeste šablon" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Da li je ovaj deo šablonski deo?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Da li je ovaj deo varijanta drugog dela?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Varijanta od" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Opis dela (opciono)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Ključne reči" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Ključne reči dela da bi se poboljšala vidljivost u rezultatima pretrage" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Kategorija dela" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Interni broj dela" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Revizija dela ili broj verzije" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Revizija" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "Da li je ovaj deo revizija drugog dela?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Revizija od" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Gde je ova stavka inače skladištena?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Podrazumevani istek" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "Vreme isteka (u danima) za stavke sa zaliha ovog dela" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Minimalne zalihe" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Minimalni dozvoljen nivo zaliha" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Jedinice mere za ovaj deo" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Da li ovaj deo može biti izgrađen od drugih delova?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "Da li ovaj deo može biti korišćen za izradu drugih delova?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Da li ovaj deo ima praćenje za više stavki?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "Da li ovaj deo može imati svoje rezultate testa?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Da li ovaj deo može biti kupljen od eksternih dobavljača?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Da li ovaj deo može biti prodat mušterijama?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Da li je ovaj deo aktivan?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Zaključani delovi se ne mogu menjati" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "Da li je ovo virtuelni deo, kao na primer softver ili licenca?" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Suma spiska materijala" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Uskladištena suma spiska materijala" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "Spisak materijala proveren od strane" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Spisak materijala proveren datuma" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Korisnik koji je kreirao" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Vlasnik odgovoran za ovaj deo" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Prodaj više" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Valuta korišćena za vršenje proračuna o cenama" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Minimalna vrednost spiska materijala" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Minimalna vrednost komponenti delova" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Maksimalna vrednost spiska materijala" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Maksimalna vrednost komponenti delova" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Minimalna kupovna vrednost" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Minimalna istorijska kupovna vrednost" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Maksimalna kupovna vrednost" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Maksimalna istorijska kupovna vrednost" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Minimalna interna cena" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Minimalna cena bazirana na internim sniženjima cena" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Maksimalna interna cena" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Maksimalna vrednost bazirana na internim sniženjima cena" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Minimalna cena dobavljača" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Minimalna cena dela od eksternih dobavljača" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Maksimalna cena dobavljača" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Maksimalna cena dela od eksternih dobavljača" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Minimalna vrednost varijanti" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Izračunata minimalna vrednost varijanti delova" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Maksimalna vrednost varijanti" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Izračunata maksimalna vrednost varijanti delova" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Minimalna vrednost" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Promeni minimalnu vrednost" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Maksimalna vrednost" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Promeni maksimalnu vrednost" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Ukupna izračunata minimalna vrednost" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Ukupna izračunata maksimalna vrednost" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Minimalna prodajna cena" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Minimalna prodajna cena bazirana na osnovu sniženja cena" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Maksimalna prodajna cena" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Maksimalna prodajna cena bazirana na osnovu sniženja cena" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Minimalna prodajna vrednost" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Minimalna istorijska prodajna cena" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Maksimalna prodajna vrednost" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Maksimalna istorijska prodajna cena" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Deo za popis" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Broj stavki" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Broj individualnih unosa zaliha u vreme popisa" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Ukupne dostupne zalihe za vreme popisa" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Datum" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Datum kada je izvršen popis" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Minimalna vrednost zaliha" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Procenjena minimalna vrednost trenutnih zaliha" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Maksimalna vrednost zaliha" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Procenjena maksimalna vrednost trenutnih zaliha" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "Smanjenje prodajne cene dela" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "Šablon testa dela" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Nevažeći naziv šablona - mora da uključuje bar jedan alfanumerički karakter" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Test šabloni mogu biti kreirani samo za delove koje je moguće testirati" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "Test šablon sa istim ključem već postoji za ovaj deo" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Naziv testa" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Unesi naziv za ovaj test" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "Test ključ" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Pojednostavljen ključ za test" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Opis testa" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Unesi opis za ovaj test" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "Da li je ovaj test omogućen?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Neophodno" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Da li je neophodno da ovaj test prođe?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Zahteva vrednost" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "Da li ovaj test zahteva vrednost prilikom dodavanja rezultata testa?" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Zahteva prilog" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "Da li ovaj test zahteva fajl kao prilog prilikom dodavanja rezultata testa?" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "Validni izbori za ovaj test (razdvojeni zapetom)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "Stavke sa spiska materijala se ne mogu modifikovati - sklapanje je zaključano" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "Stavke sa spiska materijala se ne mogu modifikovati - sklapanje varijanti je zaključano" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Izaberi nadređeni deo" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Pod-deo" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Izaberi deo koji će biti korišćen u spisku materijala" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Količina spiskova materijala za ovu stavku sa spiska materijala" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Ova stavka sa spiska materijala je opciona" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ova stavka sa spiska materijala se može potrošiti (nije praćena u nalozima za izradu)" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Referenca stavke sa spiska materijala" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Beleške stavki sa spiska materijala" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Suma" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Suma spiska materijala" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Validirano" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Ova stavka sa spiska materijala je validirana" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Biva nasleđeno" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Ova stavka sa spiska materijala je nasleđivana od spiska materijala za varijante delova" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Stavke sa zaliha za varijante delova se mogu koristiti za ovu stavku sa spiska materijala" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "Količina mora biti ceo broj za delove koji se mogu pratiti" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Zamenski deo mora biti određen" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Zamenska stavka sa spiska materijala" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "Zamenski deo ne može biti isti kao glavni deo" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Nadređena stavka sa spiska materijala" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Zamenski deo" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Deo 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Deo 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Izaberi povezan deo" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Beleška za ovu relaciju" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "Relacija između delova ne može biti kreirana između jednog istog dela" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Identična veza već postoji" @@ -7375,41 +7388,41 @@ msgstr "Kopiraj zamenske delove" msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopiraj zamenske delove prilikom duplikacije stavki sa spiska materijala" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Notifikacija o niskim zalihama" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Dostupne zalihe za {part.name} su pale ispod konfigurisanog minimalnog nivoa" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "Instanca modela nije pronađena" msgid "Barcode matches existing item" msgstr "Bar kod se poklapa sa postojećom stavkom" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Nema podudarajućih podataka o delovima" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Nema pronađenih podudarajućih delova dobavljača" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Više podudarajućih delova dobavljača pronađeno" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "Nema podudarajućeg plugina za podatke sa bar koda" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Podudarajući deo dobavljača" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "Stavka je već primljena" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "Nijedan plugin se ne poklapa sa dobavljačevim bar kodom" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Više pronađenih poklapajućih stavki porudžbine" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Nema podudarajućih stavki porudbžine pronađenih" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Nema dostavljenih naloga za prodaju" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "Bar kod se ne poklapa sa postojećom stavkom sa zaliha" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "Stavka sa zaliha se ne podudara sa stavkom porudbžine" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Nedovoljno dostupnih stavki" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Stavka alocirana nalogu za prodaju" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Nema dovoljno informacija" @@ -8589,19 +8610,19 @@ msgstr "Nevažeće dimenzije natpisa" msgid "No valid items provided to template" msgstr "Nema važećih stavki dostavljenih šablonu" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Legal" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Letter" @@ -8890,196 +8911,196 @@ msgstr "Nema rezultata" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Slika nije pronađena" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "part_image tag zahteva instancu dela" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "company_image tag zahteva instancu kompanije" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "Filtriraj po dubini lokacije" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "Filtriraj po nadređenim lokacijama" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "Uključi podlokacije u filtriranim rezultatima" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Nadređena lokacija" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Filtriraj po nadređenoj lokaciji" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Ime dela" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "Ime dela sadrži" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Ime dela (regex)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "Interni deo broja" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "Interni deo broja sadrži (osetljivo na velika i mala slova)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "Interni broj dela (regex)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Minimalne zalihe" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Maksimalne zalihe" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Statusni kod" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Eksterna lokacija" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "Potrošeno od strane naloga za izradu" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "Instalirano u drugu stavku sa zaliha" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Stablo dela" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "Ažurirano pre" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Ažurirano nakon" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "Popis pre" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "Popis nakon" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Datum isteka pre" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Datum isteka nakon" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Zastarelo" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Količina je neophodna" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Validan deo mora biti dosavljen" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "Dati dobavljač ne postoji" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Deo dobavljača ima definisanu veličinu pakovanja, ali fleg use_pack_size nije postavljen" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serijski brojevi ne mogu biti dostavljeni za deo koji nije moguće pratiti" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "Serijski brojevi moraju biti dostavljeni kao lista" msgid "Quantity does not match serial numbers" msgstr "Količine se ne poklapaju sa serijskim brojevima" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "Test šablon ne postoji" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "Stavka sa zaliha je dodeljena nalogu za prodaju" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Stavka sa zaliha je instalirana u drugu stavku" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "Stavka sa zaliha sadrži druge stavke" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Stavka sa zaliha je dodeljena mušteriji" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "Stavka sa zaliha je trenutno u produkciji" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Serijalizovane zalihe se ne mogu spojiti" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Dupliraj stavke sa zaliha" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Stavke sa zaliha se moraju odnositi na isti deo" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "Stavke sa zaliha se moraju odnositi na isti deo dobavljača" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Statusne šifre zaliha moraju da se poklapaju" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stavka se ne može pomeriti jer nije na zalihama" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "Praćenje stavke sa zaliha" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Ulazne beleške" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "Rezultat testa stavke sa zaliha" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Vrednost mora biti dostavljena za ovaj test" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "Prilog mora biti dostavljen za ovaj test" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "Nevažeća vrednost za ovaj test" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Rezultat testa" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Vrednost završetka testa" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Prilog uz test rezultat" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Beleške sa testa" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "Stanica za testiranje" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "Identifikator stanice za testiranje gde je test izvršen" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "Započeto" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "Vreme početka testa" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Završeno" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "Vreme završetka testa" @@ -9617,11 +9638,6 @@ msgstr "Količina za instaliranje ne sme preći dostupnu količinu" msgid "Destination location for uninstalled item" msgstr "Odredišna lokacija za deinstalirane stavke" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Statusni kod stavke sa zaliha" diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index ffea162187..7405ef2d6a 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Kunde inte konvertera {original} till {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Information om felet finns under Error i adminpanelen" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Värdet '{name}' visas inte i mönsterformat" msgid "Provided value does not match required pattern: " msgstr "Det angivna värdet matchar inte det obligatoriska mönstret: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Tom serienummersträng" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Serienummret finns redan" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Ogiltig grupp: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "Gruppintervall {group} överstiger tillåtet antal ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Inga serienummer hittades" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Ta bort HTML-taggar från detta värde" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Anslutningsfel" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Servern svarade med ogiltig statuskod" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Undantag inträffade" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Servern svarade med ogiltigt innehållslängdsvärde" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Bilden är för stor" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Nedladdning av bilder överskred maximal storlek" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Fjärrservern returnerade tomt svar" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Angiven URL är inte en giltig bildfil" @@ -280,7 +284,7 @@ msgstr "Ogiltigt val" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Namn" @@ -288,7 +292,7 @@ msgstr "Namn" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Ett fel har loggats av servern." msgid "Image" msgstr "Bild" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Välj valuta från tillgängliga alternativ" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Ogiltigt värde" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Kopiera parametrar" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Föregående tillverkning" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Inkludera varianter" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Inkludera varianter" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Inkludera varianter" msgid "Part" msgstr "Del" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Kategori" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "Tilldelad till" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Skapad före" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Skapad efter" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Tillverkningen måste avbrytas innan den kan tas bort" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Valfri" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "" @@ -725,7 +729,7 @@ msgstr "" msgid "Tracked" msgstr "Spårad" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Testbar" @@ -733,12 +737,12 @@ msgstr "Testbar" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Allokerad" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Konsumerad" @@ -749,7 +753,7 @@ msgstr "Konsumerad" msgid "Available" msgstr "Tillgänglig" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Byggorder" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Tillverknings order referens" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Försäljningsorderreferens" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Källa Plats" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Skapad" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Användare som utfärdade denna tillverknings order" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Ansvarig" @@ -965,7 +969,7 @@ msgstr "" msgid "External Link" msgstr "Extern länk" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Bygg objekt" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Artikel i lager" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "Delnamn" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Bygg utdata" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "En lista över tillverkade produkter måste anges" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "Plats för färdiga produkter" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "Slutför utfall om lager inte har tilldelats fullt ut" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Ta bort ofullständiga produkter" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "Ta bort eventuella produkter som inte har slutförts" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Tillverknings ordern är ofullständig" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Spårbar" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Ärvd" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Tillåt varianter" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "Avbruten" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Projektbeskrivning" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktiv" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Titel" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Länk" @@ -1896,7 +1905,7 @@ msgstr "Definition" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Bilaga" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Värde" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Låst" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "Kryssruta" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Val" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Aktiverad" @@ -2308,7 +2317,7 @@ msgstr "Mall" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Data" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Streckkodsdata" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Tidsstämpel" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Resultat" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Filnamn" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Modelltyp" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Komponent" @@ -3017,7 +3026,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Virtuell" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Tillverkare" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Företag" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Leverantör" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "Placerad" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Datafil" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Kolumner" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Fältfilter" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Fält" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Kolumn" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Radindex" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Fel" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Giltig" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "SKU" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Djup" @@ -6184,7 +6197,7 @@ msgstr "Djup" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "Använder" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Delkategori" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Ikon" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Ikon (valfritt)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Standardvärde" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Artiklar" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Delnamn" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Är mall" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Variant av" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Nyckelord" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Delkategori" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Revision" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Datum" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Validerad" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "Inga resultat" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Statuskod" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Extern plats" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Uppdaterad efter" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Testresultat" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "Startad" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index b9167e9552..c0f4b04e8a 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "หมายเลขซีเรียลซ้ำกัน" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "ไม่พบหมายเลขซีเรียล" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "การเชื่อมต่อขัดข้อง" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "ไฟล์รูปภาพมีขนาดใหญ่เกินไป" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "" @@ -280,7 +284,7 @@ msgstr "" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "ชื่อ" @@ -288,7 +292,7 @@ msgstr "ชื่อ" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "สกุลเงิน" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "" @@ -725,7 +729,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "" @@ -733,12 +737,12 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -965,7 +969,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "ยกเลิกแล้ว" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "ลิงก์" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "ไฟล์แนบ" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2308,7 +2317,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "ชื่อไฟล์" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "" @@ -3017,7 +3026,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "ไฟล์ข้อมูล" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "ชิ้นส่วน" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 321271ee69..7e795b6dde 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "{original} birimi {unit} birimine dönüştürülemedi" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Hata ayrıntıları yönetici panelinde bulunabilir" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Geçersiz ondalık değer" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "'{name}' değeri desen formatında yer almıyor" msgid "Provided value does not match required pattern: " msgstr "Sağlanan değer gerekli kalıpla eşleşmiyor: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Geçersiz grup: {grup}" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Boş seri numarası dizesi" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Yinelenen seri" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "Geçersiz grup: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Seri numarası bulunamadı" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "Benzersiz seri numaralarının sayısı ({n}) miktarla eşleşmeli ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Bu değerden HTML etiketlerini kaldır" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Veriler yasaklanmış işaretleme içeriği içeriyor" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "Geçersiz URL: ana makina adı yok" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "Geçersiz URL: ana makina adı çözümlenemedi" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "URL özel veya ayrılmış bir IP adresini göstermektedir" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "Çok fazla yeniden yönlendirme" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Bağlantı hatası" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Sunucu geçersiz durum kodu ile cevap verdi" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "İstisna oluştu" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Sunucu geçersiz Content-Length değeriyle yanıt verdi" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Görsel boyutu çok büyük" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Görsel indirme maksimum boyutu aştı" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Uzak sunucu boş cevap döndü" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir görsel dosyası değil" @@ -280,7 +284,7 @@ msgstr "Geçersiz seçim" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Adı" @@ -288,7 +292,7 @@ msgstr "Adı" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Bir hafta sunucu tarafından kayıt edildi." msgid "Image" msgstr "Görsel" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Para birimi" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Mevcut seçeneklerden para birimini seçin" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "Bu alan boş olamaz." -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "Geçersiz içerik türü biçimi" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "İçerik türü bulunamadı" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "İçerik türü gerekli mixin sınıfı ile eşleşmemektedir" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Parametreleri Kopyala" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "Satırları Kopyala" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "Satırları orijinal siparişten kopyala" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "Ek Kalemleri Kopyala" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "Orijinal siparişten ek kalemleri kopyala" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Üst Yapım İşi" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "Varyantları Dahil Et" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "Varyantları Dahil Et" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "Varyantları Dahil Et" msgid "Part" msgstr "Parça" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Kategori" @@ -650,11 +654,11 @@ msgstr "Bana atandı" msgid "Assigned To" msgstr "Atanılan Kişi" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "Daha önce oluşturuldu" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "Sonra oluşturuldu" @@ -706,18 +710,18 @@ msgstr "Ağacı Hariç Tut" msgid "Build must be cancelled before it can be deleted" msgstr "Üretim silinemeden önce iptal edilmelidir" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Sarf Malzemesi" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "İsteğe Bağlı" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Montaj" @@ -725,7 +729,7 @@ msgstr "Montaj" msgid "Tracked" msgstr "İzlenen" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Test Edilebilir" @@ -733,12 +737,12 @@ msgstr "Test Edilebilir" msgid "Order Outstanding" msgstr "Sipariş Açık" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Tahsis Edildi" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Tüketildi" @@ -749,7 +753,7 @@ msgstr "Tüketildi" msgid "Available" msgstr "Mevcut" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Üretim Emri" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "Hedef tarih başlangıç tarihinden sonra olmalıdır" msgid "Build Order Reference" msgstr "Üretim Emri Referansı" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Satış Emri Referansı" msgid "Sales Order to which this build is allocated" msgstr "Bu üretimin tahsis edildiği satış siparişi" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Kaynak Konum" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Bu üretim çıktısının parti kodu" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Oluşturulma tarihi" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "Bu üretim emrini düzenleyen kullanıcı" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Sorumlu" @@ -965,7 +969,7 @@ msgstr "Bu üretim emrinden sorumlu kullanıcı veya grup" msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "Tahsisli kalemler içeren bir üretim çıktısı kısmi olarak tamamlan #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Üretim nesnesi" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "Tüketilen Stok Miktarı" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Ana parça izlenebilir olarak işaretlendiğinden, üretim kalemi bir üretim çıktısı belirtmelidir" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "Seçili stok kalemi BOM satırı ile eşleşmiyor" @@ -1118,11 +1122,11 @@ msgstr "Tahsis edilen miktar ({q}) mevcut stok miktarını ({a}) aşmamalıdır" msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Stok Kalemi" @@ -1151,7 +1155,7 @@ msgstr "Üretim Seviyesi" msgid "Part Name" msgstr "Parça Adı" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Üretim Çıktısı" @@ -1204,12 +1208,12 @@ msgstr "Seri Numaralarını Otomatik Tahsis Et" msgid "Automatically allocate required items with matching serial numbers" msgstr "Eşleşen seri numaralı gerekli kalemleri otomatik tahsis et" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "Şu seri numaraları zaten varlar veya geçersizler" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "Bir üretim çıktıları listesi sağlanmalıdır" @@ -1233,304 +1237,309 @@ msgstr "Üretim çıktı(larını) hurdaya ayırma nedeni" msgid "Location for completed build outputs" msgstr "Tamamlanan üretim çıktıları içi konum" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Eksik Tahsisi Kabul Et" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "Stok henüz tamamen tahsis edilmemişse çıktıları tamamla" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Tahsis Edilen Stoku Tüket" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "Bu üretim için zaten tahsis edilmiş olan tüm stokları tüket" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Eksik Çıktıları Kaldır" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "Henüz tamamlanmamış tüm üretim çıktılarını sil" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "İzin verilmedi" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "Bu üretim emri tarafından tüketildi olarak kabul et" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "Bu üretim emrini tamamlamadan önce tahsisi kaldır" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Aşırı Tahsis Edilmiş Stok" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Üretim emrine atanan ek stok kalemlerini nasıl işlemek istersiniz" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "Bazı stok kalemleri aşırı tahsis edilmiştir" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Tahsis Edilmeyeni Kabul Et" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Stok kalemlerinin bu üretim emrine tamamen tahsis edilmediğini kabul et" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Eksik Kabul et" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "Gereken miktarda üretim çıktısının tamamlanmadığını kabul et" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "Gereken üretim miktarı tamamlanmadı" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "Üretim emrinin açık alt üretim emirleri var" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "Üretim emri üretim durumunda olmalıdır" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "Üretim emrinde eksik çıktılar var" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Üretim Satırı" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Üretim çıktısı" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "Üretim çıktısı aynı üretimi göstermelidir" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Üretim Satırı" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part üretim emri ile aynı parçayı göstermelidir" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Kalem stokta olmalıdır" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "İzlenen parçaların tahsisi için üretim çıktısı belirtilmelidir" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "İzlenmeyen parçaların tahsisi için üretim çıktısı belirtilemez" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Tahsis ögeleri belirtilmelidir" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Parçaların alınacağı stok konumu (herhangi bir konumdan almak için boş bırakın)" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Konumu Hariç Tut" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "Stok kalemlerini bu seçili konumdan hariç tut" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Birbirinin Yerine Kullanılabilir Stok" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Birden fazla konumdaki stok kalemleri birbirinin yerine kullanılabilir" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Muadil Stok" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Muadil parçaların tahsis edilmesine izin ver" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "İsteğe Bağlı Ögeler" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "İsteğe bağlı BOM kalemlerini üretim emrine tahsis et" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "Tüm Ögeler" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "Takip edilmeyen kalemler" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "Takipli Kalemler" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "Kalem Türü" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "Otomatik tahsis edilecek ürün türünü seçin" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "Stok Önceliği" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "Eşleşen stok kalemlerinin tüketilmesinde tercih edilen sıra" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "Üretim Satırları" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "Tahsisatı şu üretim satırlarına sınırla (tüm satırlara tahsis etmek için boş bırakın)" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "ML Referansı" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "BOM Parça ID" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "ML Parça Adı" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "Kur" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "Yap" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Tedarikçi Parçası" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Tahsis Edilen Miktar" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Üretim Referansı" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Parça Kategorisi Adı" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Takip Edilebilir" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Devralınmış" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Varyantlara İzin Ver" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "ML Ögesi" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "Üretimde" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "Üretim için Planlandı" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Harici Stok" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Mevcut Stok" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Mevcut Yedek Stok" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Mevcut Varyant Stok" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "Tüketilen miktar tahsis edilen miktarı aşıyor" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "Stok tüketimi için isteğe bağlı notlar" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "Üretim kalemi doğru üretim emrini göstermelidir" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "Üretim kalemi tahsisini yinele" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "Üretim satırı doğru üretim emrini göstermelidir" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "Üretim satırı tahsisini yinele" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "En az bir kalem veya satır sağlanmalıdır" @@ -1555,7 +1564,7 @@ msgstr "Beklemede" msgid "Cancelled" msgstr "İptal edildi" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Geçerli bir para birimi kodu sağlanmamış" msgid "No plugin" msgstr "Eklenti yok" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "Etiketler" @@ -1667,8 +1676,8 @@ msgstr "Proje açıklaması" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Aktif" @@ -1716,7 +1725,7 @@ msgstr "Anahtar dizesi benzersiz olmalı" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Başlık" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Bağlantı" @@ -1896,7 +1905,7 @@ msgstr "Tanımlama" msgid "Unit definition" msgstr "Birim tanımlaması" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Ek" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "İş mantığında bu özel duruma eşit olan durum mantıksal anahtarı" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Değer" @@ -2098,7 +2107,7 @@ msgstr "Seçim listesinin adı" msgid "Description of the selection list" msgstr "Seçim listesinin açıklaması" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Kilitli" @@ -2206,7 +2215,7 @@ msgstr "Onay kutusu parametrelerinin birimleri olamaz" msgid "Checkbox parameters cannot have choices" msgstr "Onay kutusu parametrelerinin seçenekleri olamaz" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Seçenekler eşsiz olmalıdır" @@ -2222,7 +2231,7 @@ msgstr "Bu parametre şablonu için hedef modeli türü" msgid "Parameter Name" msgstr "Parametre Adı" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Birim" @@ -2242,7 +2251,7 @@ msgstr "Onay kutusu" msgid "Is this parameter a checkbox?" msgstr "Bu parametre bir onay kutusu mu?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Seçenekler" @@ -2254,7 +2263,7 @@ msgstr "Bu parametre için geçerli seçenekler (virgül ile ayrılmış)" msgid "Selection list for this parameter" msgstr "Bu parametre için seçim listesi" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Etkin" @@ -2308,7 +2317,7 @@ msgstr "Şablon" msgid "Parameter template" msgstr "Parametre şablonu" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Veri" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Parametre Değeri" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "Barkod verisi" msgid "User who scanned the barcode" msgstr "Barkodu taratan kullanıcı" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "Zaman damgası" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "Barkod taramasından gelen yanıt verisi" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Sonuç" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Dosya adı" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "Model Türü" @@ -3008,7 +3017,7 @@ msgstr "Parçaları varsayılan olan şablondur" msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Bileşen" @@ -3017,7 +3026,7 @@ msgstr "Bileşen" msgid "Parts can be used as sub-components by default" msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Satın Alınabilir" @@ -3025,7 +3034,7 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Satılabilir" @@ -3037,7 +3046,7 @@ msgstr "Parçalar varsayılan olarak satılabilir" msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Sanal" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Üretici" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Şirket" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Adres bilgisine bağlantı (harici)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Üretici Parçası" @@ -4574,7 +4583,7 @@ msgstr "Bağlantılı üretici parçası aynı temel parçayı referans almalıd #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Tedarikçi" @@ -4610,11 +4619,11 @@ msgstr "Harici tedarikçi parçası bağlantısı için URL" msgid "Supplier part description" msgstr "Tedarikçi parçası açıklaması" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum ücret (örneğin stoklama ücreti)" @@ -4635,7 +4644,7 @@ msgstr "Paket Miktarı" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Tek bir pakette tedarik edilen toplam miktar. Tekli ürünler için boş bırakın." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "çoklu" @@ -4731,152 +4740,152 @@ msgstr "Sipariş verildi" msgid "Invalid status code" msgstr "Geçersiz durum kodu" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Veri Dosyası" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "İçe aktarılacak veri dosyası" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "Sütunlar" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "Bu içe aktarma oturumu için hedef model türü" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "İçe aktarma durumu" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "Alan Varsayılanları" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "Alan Geçersiz Kılmaları" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "Alan Filtreleri" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "Mevcut Kayıtları Güncelle" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "Etkinleştirilirse, mevcut kayıtlar yeni veri ile güncellenecektir" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "Bazı zorunlu alanlar eşleştirilmemiştir" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "Tamamlanan Satır Sayısı Geçmişi" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "Satır Sayısı Geçmişi" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "Kayıt için mevcut veritabanı tanımlayıcısı" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "Sütun zaten bir veritabanı alanına eşlenmiştir" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "Alan zaten bir veri sütununa eşlenmiştir" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "Sütun eşlemesi geçerli bir içe aktarma oturumuna bağlanmalıdır" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "Sütun veri dosyasında bulunmuyor" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "Alan hedef modelde bulunmuyor" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "Seçili alan salt okunurdur" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "Arama alanı yalnızca ilişkili (yabancı anahtar) alanlar için ayarlanabilir" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "Geçersiz arama alanı. Geçerli seçenekler şunlardır: {options}" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "Oturumu İçe Aktar" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "Alan" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "Sütun" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "Arama Alanı" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "Yabancı anahtar araması için kullanılacak veritabanı alanı. Otomatik arama için boş bırakın." -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "Satır İndeksi" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "Orijinal satır verisi" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "Hatalar" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Geçerli" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "Değer için birden fazla eşleşme bulundu – lütfen değerin benzersiz olduğundan emin olun veya belirli bir arama alanı seçin" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "Sağlanan ID ile kayıt bulunamadı" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "Sağlanan ID biçimi geçersiz" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "Mevcut kayıtları güncellemek için ID gereklidir." -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "Desteklenmeyen veri dosyası biçimi" @@ -4884,7 +4893,11 @@ msgstr "Desteklenmeyen veri dosyası biçimi" msgid "Failed to open data file" msgstr "Veri dosyasını açılamadı" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "Geçersiz veri dosyası boyutları" @@ -5692,7 +5705,7 @@ msgstr "Seri numaralı stok kalemi için miktar 1 olmalıdır" msgid "Sales order does not match shipment" msgstr "Satış siparişi sevkiyatla eşleşmiyor" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "Sevkiyat satış siparişiyle eşleşmiyor" @@ -5908,7 +5921,7 @@ msgstr "Aynı parça, hedef ve hedef tarihe sahip kalemleri tek bir satırda bir msgid "SKU" msgstr "SKU" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Dahili Parça Numarası" @@ -6176,7 +6189,7 @@ msgstr "Yıldızlı" msgid "Filter by starred categories" msgstr "Yıldızlı kategorilere göre filtrele" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Derinlik" @@ -6184,7 +6197,7 @@ msgstr "Derinlik" msgid "Filter by category depth" msgstr "Kategori derinliğine göre filtrele" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "Üst Seviye" @@ -6192,7 +6205,7 @@ msgstr "Üst Seviye" msgid "Filter by top-level categories" msgstr "Üst seviye kategorilere göre filtrele" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "Kademeli" @@ -6212,11 +6225,11 @@ msgstr "Üst kategoriye göre filtrele" msgid "Exclude sub-categories under the specified category" msgstr "Belirtilen kategorideki alt kategorileri hariç tut" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "Stok mevcut" msgid "Uses" msgstr "Kullanımlar" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Parça Kategorisi" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Varsayılan Konum" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Yapısal" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Parçalar doğrudan bir yapısal kategoriye atanamayabilir, ancak alt kategorilere atanabilir." -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Varsayılan anahtar kelimeler" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "Bu kategoridaki parçalar için varsayılan anahtar kelimeler" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Simge" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Simge (isteğe bağlı)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Bu parça kategorisini yapısal hale getiremezsiniz çünkü bazı parçalar zaten bu kategoriye atanmıştır!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "Parça Kategorisi Parametre Şablonu" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Varsayılan Değer" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Varsayılan Parametre Değeri" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Parçalar" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "Kilitli bir parçanın parametreleri silinemez" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "Kilitli bir parçanın parametreleri değiştirilemez" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "Bu parça kilitli olduğu için silinemez" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "Bu parça hala aktif olduğundan silinemez" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "Bu parça bir montajda kullanıldığından silinemez" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "'{self}' parçası, '{parent}' için BOM'da kullanılamaz (yinelemeli)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "'{parent}' parçası, '{self}' için BOM'da kullanılır (yinelemeli)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "IPN, düzenli ifade kalıbı {pattern} ile eşleşmelidir" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "Parça, kendisinin revizyonu olamaz" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "Bir revizyon olarak işaretlenen bir parçaya revizyon kodu belirtilmelidir" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "Revizyonlara yalnızca montaj parçaları için izin verilir" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "Bir şablon parçanın revizyonu yapılamaz" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "Üst parça aynı şablonu göstermelidir" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "Bu seri numarasına sahip stok kalemi zaten var" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "Kopyası oluşturulan parça revizyonu zaten var." -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "Bu Ad, IPN ve Revizyona sahip parça zaten var." -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "Parçalar yapısal parça kategorilerine atanamaz!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Parça adı" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "Bu parça başka bir parçanın varyantı mı?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Şunun Varyantı" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Anahtar kelimeler" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "Arama sonuçlarında görünürlüğü artırmak için parça anahtar kelimeleri" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Parça kategorisi" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "DPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Revizyon" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "Bu parça başka bir parçanın revizyonu mu?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Şunun Revizyonu" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Bu kalem normalde nerede depolanır?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Varsayılan Raf Ömrü" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "Bu parçanın stok kalemleri için raf ömrü süresi (gün olarak)" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Minimum Stok" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "İzin verilen minimum stok düzeyi" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "Maksimum Stok" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "İzin verilen maksimum stok düzeyi" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Bu parça için ölçü birimleri" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan üretilebilir mi?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "Bu parça diğer parçaların üretiminde kullanılabilir mi?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "Bu parçanın benzersiz kalemler için takip özelliği var mı?" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "Bu parçanın test sonuçları kaydedilebilir mi?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "Kilitli parçalar değiştirilemez" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "Bu, yazılım ürünü veya lisans gibi sanal bir parça mı?" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "BOM Doğrulandı" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "Bu parçanın BOM'u geçerli mi?" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "BOM sağlama toplamı" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Saklanan BOM sağlama toplamı" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "BOM'u kontrol eden" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "BOM kontrol tarihi" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "Bu parçanın sorumlu sahibi" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Birden fazla sat" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "Fiyat hesaplamalarını önbelleğe almak için kullanılan para birimi" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Minimum BOM Maliyeti" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Bileşenlerin minimum maliyeti" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Maksimum BOM Maliyeti" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Bileşenlerin maksimum maliyeti" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Minimum Satın Alma Maliyeti" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Minimum tarihsel satın alma maliyeti" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Maksimum Satın Alma Maliyeti" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "Maksimum tarihsel satın alma maliyeti" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Minimum Dahili Fiyat" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "Dahili fiyat kademelerine dayalı minimum maliyet" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Maksimum Dahili Fiyat" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "Dahili fiyat kademelerine dayalı maksimum maliyet" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Minimum Tedarikçi Fiyatı" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "Parça için minimum dış tedarikçi fiyatı" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Maksimum Tedarikçi Fiyatı" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "Parça için maksimum dış tedarikçi fiyatı" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Minimum Varyant Maliyeti" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "Varyant parçaların hesaplanan minimum maliyeti" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Maksimum Varyant Maliyeti" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "Varyant parçaların hesaplanan maksimum maliyeti" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Minimum Maliyet" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Minimum maliyeti geçersiz kıl" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Maksimum Maliyet" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Maksimum maliyeti geçersiz kıl" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Hesaplanan genel minimum maliyet" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Hesaplanan genel maksimum maliyet" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Minimum Satış Fiyatı" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "Fiyat kademelerine dayalı minimum satış fiyatı" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Maksimum Satış Fiyatı" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Fiyat kademelerine dayalı maksimum satış fiyatı" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Minimum Satış Maliyeti" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Minimum tarihsel satış fiyatı" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Maksimum Satış Maliyeti" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Maksimum tarihsel satış fiyatı" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Stok sayımı için parça" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Kalem Sayısı" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "Sayım anındaki tekil stok kaydı sayısı" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "Sayım anındaki toplam mevcut stok" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Tarih" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Stok sayımının yapıldığı tarih" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Minimum Stok Maliyeti" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "Mevcut stokun tahmini minimum maliyeti" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Maksimum Stok Maliyeti" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "Mevcut stokun tahmini maksimum maliyeti" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "Parça Satış Fiyat Kademesi" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "Parça Test Şablonu" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "Geçersiz şablon adı - en az bir alfasayısal karakter içermelidir" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "Test şablonları sadece test edilebilir paçalar için oluşturulabilir" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "Aynı anahtara sahip test şablonu parça için zaten mevcut" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Test için bir ad girin" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "Test Anahtarı" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "Test için basitleştirilmiş anahtar" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Bu test için açıklama girin" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "Bu test etkinleştirildi mi?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Gerekli" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Değer Gerektirir" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "Bir test sonucu eklerken bu test bir değer gerektirir mi?" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Ek Gerektirir" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "Bir test sonucu eklerken bu test bir dosya eki gerektirir mi?" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "Bu test için geçerli seçenekler (virgül ile ayrılmış)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "Geçersiz miktar - parça için bir birim belirtilmedi" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "Miktar sıfır veya daha büyük olmalıdır" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "BOM kalemi değiştirilemez - montaj kilitlidir" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "BOM kalemi değiştirilemez - varyant montajı kilitlidir" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Üst parçayı seçin" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Alt parça" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "BOM'da kullanılacak parçayı seçin" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "Miktar" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "Bir parçayı üretmek için tüketilen alt parçanın miktarı" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Bu BOM kalemi için BOM miktarı" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Bu BOM kalemi isteğe bağlıdır" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Bu BOM kalemi bir sarf malzemesidir (üretim emirlerinde izlenmez)" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "Hazırlık Payı" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "Bir üretimdeki hazırlık kayıplarını telafi etmek için gereken ek miktar" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "Fire" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "Bir üretim için tahmini fire oranı, yüzde olarak ifade edilir (0-100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "Kat Yuvarlama" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "Gerekli üretim miktarını bu değerin en yakın katına yuvarlayın" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "BOM kalemi referansı" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "BOM kalemi notları" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Sağlama Toplamı" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "BOM satırı sağlama toplamı" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Doğrulandı" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Bu BOM kalemi doğrulandı" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Devralınır" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Bu BOM kalemi, varyant parçaların BOM'larından devralınmıştır" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Varyant parçaların stok kalemleri bu BOM kalemi için kullanılabilir" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "İzlenebilir parçalar için miktar tamsayı olmalıdır" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Alt parça belirtilmelidir" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "BOM Kalemi Muadili" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "Muadil parça ile asıl parça aynı olamaz" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Üst BOM kalemi" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Muadil parça" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Parça 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Parça 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "İlgili Parçayı Seçin" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "Bu ilişki için not" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "Bir parça ile kendisi arasında parça ilişkisi oluşturulamaz" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Kopyalanan ilişki zaten mevcut" @@ -7375,41 +7388,41 @@ msgstr "Muadil Parçaları Kopyala" msgid "Copy substitute parts when duplicate BOM items" msgstr "BOM kalemlerinin kopyasını oluştururken muadil parçaları kopyala" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Düşük stok bildirimi" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "{part.name} için mevcut stok, yapılandırılan minimum seviyenin altına düştü" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "Eskimiş stok bildirimi" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "Raf ömrünü doldurmak üzere olan 1 adet stok kaleminiz var" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "Raf ömrünü doldurmak üzere olan {item_count} adet stok kaleminiz var" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "Raf ömrü yok" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "{abs(days_diff)} Gün önce süresi doldu" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "Süresi bugün doluyor" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry} gün" @@ -7462,71 +7475,79 @@ msgstr "Model örneği bulunamadı" msgid "Barcode matches existing item" msgstr "Barkod mevcut kalemle eşleşiyor" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "Eşleşen parça verisi bulunamadı" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "Eşleşen tedarikçi parçası verisi bulunamadı" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "Birden çok eşleşen tedarikçi parçası bulundu" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "Barkod verisi için eşleşen eklenti bulunamadı" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Eşleşen tedarikçi parçası" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "Ürün kalemi zaten teslim alındı" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "Satın alma siparişi bulundu\\rEşleşen Tedarikçi Parçası Yok" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "Tedarikçi Parçası Bulundu\\rEşleşen Satın Alma Siparişi Yok" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "Tedarikçi barkodu için uygun eklenti bulunamadı" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "Birden çok eşleşen satır bulundu" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "Eşleşen satır bulunamadı" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "Satış siparişi sağlanmadı" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "Barkod mevcut bir stok kalemiyle eşleşmiyor" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "Stok kalemi satır kalemiyle eşleşmiyor" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Mevcut stok yetersiz" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "Stok kalemi satış siparişine tahsis edilmiştir" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Yetersiz bilgi" @@ -8589,19 +8610,19 @@ msgstr "Geçersiz etiket boyutları" msgid "No valid items provided to template" msgstr "Şablona geçerli öge sağlanmadı" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Yasal" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Harf" @@ -8890,196 +8911,196 @@ msgstr "Sonuç yok" msgid "Transferred" msgstr "Aktarıldı" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "Geçersiz ortam dosya yolu" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "Geçersiz statik dosya yolu" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "Varlık dosyası bulunamadı" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Görsel dosyası bulunumadı" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "Görüntü dosyası belirtilmedi" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "part_image etiketi bir parça örneği gerektirir" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "company_image etiketi bir şirket örneği gerektirir" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "Konum derinliğine göre filtrele" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "Üst seviye konumlara göre filtrele" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "Filtrelenmiş sonuçlara alt konumları dahil et" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "Üst Konum" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "Üst konuma göre filtrele" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "Parça adı (büyük/küçük harf duyarlı değildir)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "Parça adı şunu içerir (büyük/küçük harf duyarlı değildir)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "Parça adı (regex)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "Parça IPN (büyük/küçük harf duyarlı değildir)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "Parça IPN şunu içerir (büyük/küçük harf duyarlı değildir)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "Parça IPN (regex)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "Minimum stok" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "Maksimum stok" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Durum Kodu" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Harici Konum" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "Üretim Emrine göre Tüketilenler" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "Başka bir stok kalemine takılı" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Parça Ağacı" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "Daha önce güncellendi" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "Güncellendi (den sonra)" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "Stok Sayımı (-dan önce)" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "Stok Sayımı (-dan sonra)" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "Stok Sayım Tarihi Olanlar" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Raf ömrü şu tarihten önce" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Raf ömrü şu tarihten sonra" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Bozuk" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "Konumları alt konumlara uygula" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "Açıksa belirtilen konumun alt konumlarındaki öğeleri de dahil eder" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "Sayısal konum ID'si veya \"null\" değeriyle filtreleyin" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Miktar gereklidir" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Geçerli bir parça girilmelidir" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "Belirtilen tedarikçi parçası bulunamadı" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Tedarikçi parçası için paket boyutu tanımlanmış, ancak ‘use_pack_size’ seçeneği etkin değil" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Takibi olmayan bir parça için seri numarası verilemez" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "Takılıyı Dahil Et" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "Aktifse verilen stok kaleminin altına takılı öğelerin test sonuçları da dahil edilir" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "Sayısal Stok Kalemi ID’sine göre Filtrele" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "Belirtilen ID {id} ile bir stok kalemi bulunamadı" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "Varyantları Dahil Et" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "(-den sonra) sil" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "Önce" @@ -9346,115 +9367,115 @@ msgstr "Seri numaraları liste halinde girilmelidir" msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "Test şablonu mevcut değil" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "Stok kalemi bir satış siparişine atanmıştır" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "Stok kalemi başka bir stok kalemine takılıdır" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "Stok kalemi başka kalemleri de içermektedir" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "Stok kalemi bir müşteriye atanmıştır" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "Stok kalemi şu anda üretim aşamasındadır" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Seri numaralı stok birleştirilemez" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Yinelenen stok kalemleri" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "Stok kalemleri aynı parçayı ifade etmelidir" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "Stok kalemleri aynı tedarikçi parçasını ifade etmelidir" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Stok durum kodları eşleşmelidir" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "Stok Kalemi Takibi" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Giriş notları" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "Stok Kalemi Test Sonucu" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "Bu test için değer sağlanmalıdır" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "Bu test için dosya eki yüklenmelidir" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "Bu tet için geçersiz değer" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Test sonucu" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Test çıktı değeri" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Test sonucu eki" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Test notları" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "Test istasyonu" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "Testin gerçekleştirildiği test istasyonunun tanımlayıcısı" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "Başladı" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "Test başlangıcı zaman damgası" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "Bitti" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "Test bitişi zaman damgası" @@ -9617,11 +9638,6 @@ msgstr "Takılacak miktar, mevcudu geçmemeli" msgid "Destination location for uninstalled item" msgstr "Sökülen ürün için hedef konum" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Stok kalemi durum kodu" diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index 0f6545cd05..86d1bf04a8 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -43,7 +43,7 @@ msgstr "Немає сутностей що відповідають надани #: InvenTree/api.py:494 msgid "No data provided" -msgstr "" +msgstr "Дані відсутні" #: InvenTree/api.py:510 msgid "This field must be unique." @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Не вдалося перетворити {original} на {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Невірна кількість" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "Деталі помилки можна знайти на панелі адміністратора" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "Неправильне десяткове значення" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Значення '{name}' не відповідає шаблону фо msgid "Provided value does not match required pattern: " msgstr "Надане значення не відповідає обов'язковому шаблону: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "Неможливо серіалізувати більше ніж 1000 сутностей за раз" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Пустий серійний номер" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Видаліть HTML тег з цього значення" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "Дані містять заборонений вміст у форматі Markdown" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Помилка підключення" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "Сервер відправив некоректний код статусу" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Відбулося виключення" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "Сервер повернув невірне значення Content-Length" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Розмір зображення занадто великий" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "Розмір зображення перевищує максимально дозволений розмір" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Віддалений сервер повернув пусту відповідь" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "" @@ -280,7 +284,7 @@ msgstr "" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Назва" @@ -288,7 +292,7 @@ msgstr "Назва" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "" msgid "Image" msgstr "Зображення" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "Деталь" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "" @@ -650,11 +654,11 @@ msgstr "" msgid "Assigned To" msgstr "" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Розхідний матеріал" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Збірка" @@ -725,7 +729,7 @@ msgstr "Збірка" msgid "Tracked" msgstr "" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Тестуємо" @@ -733,12 +737,12 @@ msgstr "Тестуємо" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "" @@ -749,7 +753,7 @@ msgstr "" msgid "Available" msgstr "Доступно" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "" @@ -965,7 +969,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "" @@ -1118,11 +1122,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "" @@ -1151,7 +1155,7 @@ msgstr "" msgid "Part Name" msgstr "" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "" @@ -1204,12 +1208,12 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "" @@ -1233,304 +1237,309 @@ msgstr "" msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Дозволити варіанти" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "У виробництві" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "" @@ -1716,7 +1725,7 @@ msgstr "" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Назва" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Посилання" @@ -1896,7 +1905,7 @@ msgstr "" msgid "Unit definition" msgstr "" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "Заблоковано" @@ -2206,7 +2215,7 @@ msgstr "" msgid "Checkbox parameters cannot have choices" msgstr "" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "" @@ -2242,7 +2251,7 @@ msgstr "Прапорець" msgid "Is this parameter a checkbox?" msgstr "" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "" @@ -2254,7 +2263,7 @@ msgstr "" msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "" @@ -2308,7 +2317,7 @@ msgstr "Шаблон" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Дані" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Компонент" @@ -3017,7 +3026,7 @@ msgstr "Компонент" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "" @@ -3025,7 +3034,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Доступний для продажу" @@ -3037,7 +3046,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Віртуальний" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Виробник" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Позиція виробника" @@ -4574,7 +4583,7 @@ msgstr "" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" @@ -4610,11 +4619,11 @@ msgstr "" msgid "Supplier part description" msgstr "" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "Базова вартість" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Мінімальний платіж (напр. комісія за збереження)" @@ -4635,7 +4644,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "" @@ -4731,152 +4740,152 @@ msgstr "" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Дійсно" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "" msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "Глибина" @@ -6184,7 +6197,7 @@ msgstr "Глибина" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "Фільтр за батьківською категорією" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Позиції" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "Неможливо видалити цю позицію, оскільки вона заблокована" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "Неможливо видалити цю позицію, оскільки вона ще активна" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "Неможливо видалити цю позицію, бо вона використовується у збірці" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Назва позиції" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Це шаблон" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "Ця позиція є шаблоном?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Опис позиції (опціонально)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Ревізія" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "Ревізія" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Мінімальний запас" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Мінімально дозволений рівень запасів" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Одиниці виміру для цієї позиції" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "Чи можна побудувати цю позицію з інших компонентів?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Дата" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Тестова назва" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Позиція 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Позиція 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "" @@ -7375,41 +7388,41 @@ msgstr "" msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "" @@ -8890,196 +8911,196 @@ msgstr "" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "" msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "" diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index 572b6d1b29..f47962a0a8 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:22\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "Không thể chuyển đổi {original} sang {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "Số lượng cung cấp không hợp lệ" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 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ị" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "Giá trị '{name}' không xuất hiện ở định dạng mẫu" msgid "Provided value does not match required pattern: " msgstr "Giá trị được cung cấp không khớp với mẫu bắt buộc: " -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "Chuỗi số sê-ri trống" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "Trùng lặp sê-ri" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, 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:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "Không tìm thấy số sê-ri" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "Xóa thẻ HTML từ giá trị này" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "Lỗi kết nối" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 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:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "Xảy ra Exception" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 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:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "Hình ảnh quá lớn" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 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:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "Máy chủ trả về phản hồi trống" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 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ệ" @@ -280,7 +284,7 @@ msgstr "Lựa chọn sai" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "Tên" @@ -288,7 +292,7 @@ msgstr "Tên" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "Lỗi đã được ghi lại bởi máy chủ." msgid "Image" msgstr "Hình ảnh" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "Tiền tệ" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "Chọn tiền tệ trong các tùy chọn đang có" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "Giá trị không hợp lệ" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "Phiên bản cha" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "" msgid "Part" msgstr "Nguyên liệu" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "Danh mục" @@ -650,11 +654,11 @@ msgstr "Đã gán cho tôi" msgid "Assigned To" msgstr "Đã gán cho" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "" @@ -706,18 +710,18 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "Tuỳ chọn" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "Lắp ráp" @@ -725,7 +729,7 @@ msgstr "Lắp ráp" msgid "Tracked" msgstr "Đã theo dõi" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "Có thể kiểm tra" @@ -733,12 +737,12 @@ msgstr "Có thể kiểm tra" msgid "Order Outstanding" msgstr "" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "Đã cấp phát" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "Đã dùng" @@ -749,7 +753,7 @@ msgstr "Đã dùng" msgid "Available" msgstr "Có sẵn" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "Tạo đơn hàng" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "Tham chiếu đơn đặt bản dựng" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "Địa điểm nguồn" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "Mã lô cho đầu ra bản dựng này" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "Ngày tạo" @@ -952,7 +956,7 @@ 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:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "Chịu trách nhiệm" @@ -965,7 +969,7 @@ msgstr "Người dùng hoặc nhóm có trách nhiệm với đơn đặt bản msgid "External Link" msgstr "Liên kết bên ngoài" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "Dựng đối tượng" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "" 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:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 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" @@ -1118,11 +1122,11 @@ msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số l msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "Kho hàng" @@ -1151,7 +1155,7 @@ msgstr "Tạo cấp" msgid "Part Name" msgstr "Tên sản phẩm" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "Đầu ra bản dựng" @@ -1204,12 +1208,12 @@ msgstr "Số sêri tự cấp" msgid "Automatically allocate required items with matching serial numbers" msgstr "Tự động cấp số seri phù hợp cho hàng hóa được yêu cầu" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 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:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 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" @@ -1233,304 +1237,309 @@ msgstr "Lý do loại bỏ đầu ra bản dựng" msgid "Location for completed build outputs" msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "Chấp nhận phân kho dang dở" -#: build/serializers.py:579 +#: build/serializers.py:588 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:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "Xử lý phân bổ kho hàng" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "Tiêu thụ bất kỳ hàng tồn kho nào đã được phân bổ cho dự án này." -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "Xóa toàn bộ đầu ra chưa hoàn thành" -#: build/serializers.py:652 +#: build/serializers.py:661 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:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "Chưa được cấp phép" -#: build/serializers.py:680 +#: build/serializers.py:689 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:681 +#: build/serializers.py:690 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:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "Kho quá tải" -#: build/serializers.py:711 +#: build/serializers.py:720 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:722 +#: build/serializers.py:731 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:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "Chấp nhận chưa phân bổ được" -#: build/serializers.py:729 +#: build/serializers.py:738 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:740 +#: build/serializers.py:749 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:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "Chấp nhận không hoàn thành" -#: build/serializers.py:747 +#: build/serializers.py:756 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:758 +#: build/serializers.py:767 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:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "Tạo đơn hàng có các đơn hàng đang mở" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "Tạo đơn hàng phải ở trạng thái sản xuất." -#: build/serializers.py:776 +#: build/serializers.py:785 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:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "Lộ giới" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:831 +#: build/serializers.py:840 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:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "Mục chi tiết bản dựng" -#: build/serializers.py:881 +#: build/serializers.py:890 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:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "Hàng hóa phải trong kho" -#: build/serializers.py:963 +#: build/serializers.py:972 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:971 +#: build/serializers.py:980 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:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "Hàng hóa phân bổ phải được cung cấp" -#: build/serializers.py:1054 +#: build/serializers.py:1063 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:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "Ngoại trừ vị trí" -#: build/serializers.py:1064 +#: build/serializers.py:1073 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:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "Kho trao đổi" -#: build/serializers.py:1070 +#: build/serializers.py:1079 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:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "Kho thay thế" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "Cho phép phân kho sản phẩm thay thế" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "Mục tùy chọn" -#: build/serializers.py:1082 +#: build/serializers.py:1091 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:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "BOM liên quan" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "ID hàng hoá BOM" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "Tên hàng hoá BOM" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "Sản phẩm nhà cung cấp" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "Số lượng đã phân bổ" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "Tạo liên quan" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "Tên danh mục hàng hoá" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "Có thể theo dõi" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "Được kế thừa" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "Cho phép biến thể" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "Mục BOM" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "Kho ngoài" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "Số hàng tồn" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "Kho hàng thay thế" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "Hàng tồn kho có sẵn" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "" @@ -1555,7 +1564,7 @@ msgstr "Chờ" msgid "Cancelled" msgstr "Đã hủy" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "Mã tiền tệ không đúng" msgid "No plugin" msgstr "Không phần mở rộng" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "Mô tả dự án" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "Hoạt động" @@ -1716,7 +1725,7 @@ msgstr "Chuỗi khóa phải duy nhất" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "Tiêu đề" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Liên kết" @@ -1896,7 +1905,7 @@ msgstr "Định nghĩa" msgid "Unit definition" msgstr "Định nghĩa đơn vị" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "Đính kèm" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "Giá trị" @@ -2098,7 +2107,7 @@ msgstr "" msgid "Description of the selection list" msgstr "" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "" @@ -2206,7 +2215,7 @@ msgstr "Tham số hộp kiểm tra không thể có đơn vị" msgid "Checkbox parameters cannot have choices" msgstr "Tham số hộp kiểm tra không thể có lựa chọn" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "Lựa chọn phải duy nhất" @@ -2222,7 +2231,7 @@ msgstr "" msgid "Parameter Name" msgstr "Tên tham số" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "Đơn vị" @@ -2242,7 +2251,7 @@ msgstr "Ô lựa chọn" msgid "Is this parameter a checkbox?" msgstr "Tham số này có phải là hộp kiểm tra?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "Lựa chọn" @@ -2254,7 +2263,7 @@ msgstr "Lựa chọn hợp lệ từ tham số này (ngăn cách bằng dấu ph msgid "Selection list for this parameter" msgstr "" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "Đã bật" @@ -2308,7 +2317,7 @@ msgstr "Mẫu" msgid "Parameter template" msgstr "" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "Dữ liệu" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "Giá trị tham số" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "" msgid "User who scanned the barcode" msgstr "" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "Kết quả" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "Tên tập tin" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "" @@ -3008,7 +3017,7 @@ msgstr "Sản phẩm là mẫu bởi mặc định" 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/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "Thành phần" @@ -3017,7 +3026,7 @@ msgstr "Thành phần" msgid "Parts can be used as sub-components by default" msgstr "Sản phẩm có thể được sử dụng mặc định như thành phần phụ" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "Có thể mua" @@ -3025,7 +3034,7 @@ msgstr "Có thể mua" msgid "Parts are purchaseable by default" msgstr "Sản phẩm mặc định có thể mua được" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "Có thể bán" @@ -3037,7 +3046,7 @@ msgstr "Sản phẩm mặc định có thể bán được" msgid "Parts are trackable by default" msgstr "Sản phẩm mặc định có thể theo dõi được" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "Ảo" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "Nhà sản xuất" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "Doanh nghiêp" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "Liên kết thông tin địa chỉ (bên ngoài)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "Sản phẩm nhà sản xuất" @@ -4574,7 +4583,7 @@ msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu vớ #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Nhà cung cấp" @@ -4610,11 +4619,11 @@ msgstr "URL cho liên kết sản phẩm của nhà cung cấp bên ngoài" msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "chi phí cơ sở" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" @@ -4635,7 +4644,7 @@ msgstr "Số lượng gói" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Tổng số lượng được cung cấp trong một gói đơn. Để trống cho các hàng hóa riêng lẻ." -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "nhiều" @@ -4731,152 +4740,152 @@ msgstr "Đã đặt" msgid "Invalid status code" msgstr "" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "Tập tin dữ liệu" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "Hợp lệ" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "" @@ -4884,7 +4893,11 @@ msgstr "" msgid "Failed to open data file" msgstr "" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "" @@ -5692,7 +5705,7 @@ msgstr "Số lượng phải là 1 cho hàng hóa sêri" 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:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "Vận đơn không phù hợp với đơn bán hàng" @@ -5908,7 +5921,7 @@ msgstr "" msgid "SKU" msgstr "" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" @@ -6176,7 +6189,7 @@ msgstr "" msgid "Filter by starred categories" msgstr "" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "" @@ -6184,7 +6197,7 @@ msgstr "" msgid "Filter by category depth" msgstr "" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "" @@ -6192,7 +6205,7 @@ msgstr "" msgid "Filter by top-level categories" msgstr "" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "" @@ -6212,11 +6225,11 @@ msgstr "" msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "" msgid "Uses" msgstr "" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "Danh mục sản phẩm" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "Danh mục sản phẩm" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "Điểm bán mặc định" -#: part/models.py:113 +#: part/models.py:114 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:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "Cấu trúc" -#: part/models.py:120 +#: part/models.py:121 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:129 +#: part/models.py:130 msgid "Default keywords" msgstr "Từ khóa mặc định" -#: part/models.py:130 +#: part/models.py:131 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:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "Biểu tượng" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "Biểu tượng (tùy chọn)" -#: part/models.py:182 +#: part/models.py:183 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:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "Giá trị mặc định" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "Nguyên liệu" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, 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:703 +#: part/models.py:704 #, 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:774 +#: part/models.py:775 #, 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:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "" -#: part/models.py:908 +#: part/models.py:909 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:1039 +#: part/models.py:1040 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:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "" -#: part/models.py:1062 +#: part/models.py:1072 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:1077 +#: part/models.py:1087 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:1109 +#: part/models.py:1119 msgid "Part name" msgstr "Tên sản phẩm" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "Là Mẫu" -#: part/models.py:1115 +#: part/models.py:1125 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:1125 +#: part/models.py:1135 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:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "Biến thể của" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "Mô tả (không bắt buộc)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "Từ khóa" -#: part/models.py:1141 +#: part/models.py:1151 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:1151 +#: part/models.py:1161 msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" -#: part/models.py:1166 +#: part/models.py:1176 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:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "Phiên bản" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "Hàng hóa này sẽ được cất vào đâu?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "Hết hạn mặc định" -#: part/models.py:1232 +#: part/models.py:1242 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:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "Kho tối thiểu" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "Cấp độ kho tối thiểu được phép" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "Đơn vị đo cho sản phẩm này" -#: part/models.py:1266 +#: part/models.py:1276 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:1272 +#: part/models.py:1282 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:1278 +#: part/models.py:1288 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:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "" -#: part/models.py:1290 +#: part/models.py:1300 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:1296 +#: part/models.py:1306 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:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "Sản phẩm này đang hoạt động?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "" -#: part/models.py:1312 +#: part/models.py:1322 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:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "Giá trị tổng kiểm BOM" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "Giá trị tổng kiểm BOM đã được lưu" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "BOM kiểm tra bởi" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "Ngày kiểm tra BOM" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "Tạo người dùng" -#: part/models.py:1370 +#: part/models.py:1380 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:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "Bán nhiều" -#: part/models.py:3185 +#: part/models.py:3216 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:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "Chi phí BOM tối thiểu" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối thiểu" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "Chi phí BOM tối đa" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "Chi phí thành phần sản phẩm tối đa" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "Chi phí mua vào tối thiểu" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "Chi phí mua vào tối thiểu trong lịch sử" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "Chi phí mua tối đa" -#: part/models.py:3223 +#: part/models.py:3254 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:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "Giá nội bộ tối thiểu" -#: part/models.py:3230 +#: part/models.py:3261 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:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "Giá nội bộ tối đa" -#: part/models.py:3237 +#: part/models.py:3268 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:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "Giá nhà cung ứng tối thiểu" -#: part/models.py:3244 +#: part/models.py:3275 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:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "Giá nhà cung ứng tối đa" -#: part/models.py:3251 +#: part/models.py:3282 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:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "Giá trị biến thể tối thiểu" -#: part/models.py:3258 +#: part/models.py:3289 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:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "Chi phí biến thể tối đa" -#: part/models.py:3265 +#: part/models.py:3296 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:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "Ghi đề chi phí tối thiểu" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "Chi phí tối đa" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "Ghi đề chi phí tối đa" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "Chi phí tối thiểu tính toán tổng thể" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "Chi phí tối đa tính toán tổng thể" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "Giá bán thấp nhất" -#: part/models.py:3300 +#: part/models.py:3331 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:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "Giá bán cao nhất" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "Giá bán cao nhất dựa trên phá giá" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "Chi phí bán hàng tối thiểu" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "Giá bán hàng tối thiểu trong lịch sử" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "Giá bán hàng tối đa" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "Giá bán hàng tối đa trong lịch sử" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "Sản phẩm dành cho kiểm kê" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "Tổng số hàng" -#: part/models.py:3345 +#: part/models.py:3376 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:3353 +#: part/models.py:3384 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:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "Ngày" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "Kiểm kê đã thực hiện" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "Chi phí kho tối thiểu" -#: part/models.py:3366 +#: part/models.py:3397 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:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "Chi phí kho tối đa" -#: part/models.py:3373 +#: part/models.py:3404 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:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "Bắt buộc" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "Kiểm thử này bắt buộc phải đạt?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "Giá trị bắt buộc" -#: part/models.py:3619 +#: part/models.py:3650 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:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "Yêu cầu đính kèm" -#: part/models.py:3626 +#: part/models.py:3657 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:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "Chọn sản phẩm được dùng trong BOM" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "Số lượng BOM cho mục BOM này" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:3951 +#: part/models.py:3982 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:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "Giá trị tổng kiểm dòng BOM" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "Mục BOM này là hợp lệ" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "Nhận thừa hưởng" -#: part/models.py:4018 +#: part/models.py:4049 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:4024 +#: part/models.py:4055 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:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 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:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "Sản phẩm phụ phải được chỉ định" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4321 +#: part/models.py:4357 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:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "" -#: part/models.py:4393 +#: part/models.py:4429 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:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" @@ -7375,41 +7388,41 @@ msgstr "Sao chép sản phẩm thay thế" 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/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "Thông báo sắp hết hàng" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Kho có sẵn cho {part.name} đã mất dưới mức cấu hình tối thiểu" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "" @@ -7462,71 +7475,79 @@ msgstr "" msgid "Barcode matches existing item" msgstr "Mã vạch phù hợp với hàng hóa hiện có" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 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:437 +#: plugin/base/barcodes/api.py:435 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:440 +#: plugin/base/barcodes/api.py:438 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:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "Sản phẩm nhà cung cấp phù hợp" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "Hàng hóa này đã được nhận" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "Kho không đủ hạn mức khả dụng" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "Không đủ thông tin" @@ -8589,19 +8610,19 @@ msgstr "" msgid "No valid items provided to template" msgstr "" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "Pháp lý" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "Thư" @@ -8890,196 +8911,196 @@ msgstr "Không có kết quả" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "Không tìm thấy tệp hình ảnh" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "thẻ part_image yêu cầu 1 thực thể sản phẩm" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 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/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "Mã trạng thái" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "Địa điểm bên ngoài" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "Cây sản phẩm" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "Ngày hết hạn trước đó" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "Ngày hết hạn sau đó" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "Ế" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "Bắt buộc nhập số lượng" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "Phải cung cấp sản phẩm hợp lệ" -#: stock/api.py:1169 +#: stock/api.py:1177 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:1179 +#: stock/api.py:1187 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:1211 +#: stock/api.py:1219 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/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "" @@ -9346,115 +9367,115 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "Số lượng không khớp với số sêri" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "" -#: stock/models.py:2612 +#: stock/models.py:2624 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:2616 +#: stock/models.py:2628 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:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "Hàng trong kho chứa hàng hóa khác" -#: stock/models.py:2622 +#: stock/models.py:2634 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:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "Hàng trong kho hiện đang sản xuất" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "Không thể hợp nhất kho nối tiếp" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "Mặt hàng trùng lặp" -#: stock/models.py:2639 +#: stock/models.py:2651 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:2647 +#: stock/models.py:2659 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:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "Mã trạng thái kho phải phù hợp" -#: stock/models.py:3080 +#: stock/models.py:3092 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:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "Ghi chú đầu vào" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:3831 +#: stock/models.py:3854 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:3835 +#: stock/models.py:3858 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:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "Kết quả kiểm thử" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "Giá trị đầu ra kiểm thử" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "Đính kèm kết quả kiểm thử" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "Ghi chú kiểm thử" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "" @@ -9617,11 +9638,6 @@ msgstr "Số lượng cần lắp đặt phải không vượt quá số lượn msgid "Destination location for uninstalled item" msgstr "Vị trí đích cho hàng hóa bị gỡ bỏ" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "Mã trạng thái mặt hàng" 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 a942e3589b..e10dfde387 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "不能将 {original} 转换到 {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "提供的数量无效" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "在管理面板中可以找到错误详细信息" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "无效的数值" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "值' {name}' 未出现在模式格式中" msgid "Provided value does not match required pattern: " msgstr "提供的值与所需模式不匹配:" -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "无法一次序列化超过 1000 个项目" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "序列号为空白" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "重复的序列号" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "无效群组: {group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "组范围 {group} 超出了允许的数量 ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "未找到序列号" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "唯一序列号 ({n}) 必须匹配数量 ({q})" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "从这个值中删除 HTML 标签" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "数据包含禁止的 markdown 内容" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "无效URL:没有主机名" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "无效URL:无法解析的主机名" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "URL指向私有或保留IP地址" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "太多重定向" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "连接错误" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "服务器响应状态码无效" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "发生异常" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "服务器响应的内容长度值无效" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "图片尺寸过大" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "图片下载超出最大尺寸" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "远程服务器返回了空响应" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" @@ -280,7 +284,7 @@ msgstr "无效选项" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "名称" @@ -288,7 +292,7 @@ msgstr "名称" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "服务器记录了一个错误。" msgid "Image" msgstr "图像" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "货币" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "从可用选项中选择货币" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "此字段不能为空。" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "无效值" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "无效的内容类型格式" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "未找到内容类型" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "内容类型不匹配所需的 mixin 类" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "复制参数" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "从原始条目复制参数" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "复制行" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "从原始订单复制行项目" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "复制额外行" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "从原始订单复制额外的行项目" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "复制选项" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "指定该条目的克隆选项" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "原始条目" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "选择要克隆的实例" @@ -597,20 +601,20 @@ msgstr "父级生产订单" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "包含变体" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "包含变体" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "包含变体" msgid "Part" msgstr "零件" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "类别" @@ -650,11 +654,11 @@ msgstr "分配给我" msgid "Assigned To" msgstr "负责人" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "创建时间早于" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "创建时间晚于" @@ -706,18 +710,18 @@ msgstr "排除树" msgid "Build must be cancelled before it can be deleted" msgstr "生产订单必须取消后才能删除" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "耗材" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "可选项" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "装配件" @@ -725,7 +729,7 @@ msgstr "装配件" msgid "Tracked" msgstr "可追溯" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "需检测" @@ -733,12 +737,12 @@ msgstr "需检测" msgid "Order Outstanding" msgstr "未结算订单" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "已分配" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "已消耗" @@ -749,7 +753,7 @@ msgstr "已消耗" msgid "Available" msgstr "可用数量" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "生产订单" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "目标日期必须在开始日期之后" msgid "Build Order Reference" msgstr "生产订单编号" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "销售订单编号" msgid "Sales Order to which this build is allocated" msgstr "该生产订单关联的销售订单" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "源库位" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "本批产出的批次编号" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "建立日期" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "创建该生产订单的用户" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "责任方" @@ -965,7 +969,7 @@ msgstr "该生产订单的责任人或责任团队" msgid "External Link" msgstr "外部链接" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "指向外部资源的URL链接" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "存在已分配物料时无法部分完成生产输出" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "生产对象" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "库存消耗量" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定产出,因为主零件已经被标记为可追踪的" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "所选库存项与物料清单行项不匹配" @@ -1118,11 +1122,11 @@ msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" msgid "Stock item is over-allocated" msgstr "库存品项超额分配" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "库存项" @@ -1151,7 +1155,7 @@ msgstr "生产等级" msgid "Part Name" msgstr "零件名称" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "产出" @@ -1204,12 +1208,12 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项目分配对应的序列号" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "必须提供产出清单" @@ -1233,304 +1237,309 @@ msgstr "废品产出的原因" msgid "Location for completed build outputs" msgstr "完工产出存放库位" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "结构型库位不允许存放库存物料" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果库存尚未全部分配,则完成产出" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "消耗已分配库存" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "立即扣除已分配给该生产任务的库存" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "移除未完成的产出" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "删除所有未完成的产出" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "禁止操作" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "标记为当前生产订单消耗" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "完成此生产订单前取消分配" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "超额分配库存" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "如何处理分配给生产订单的超额库存" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "存在超额分配的库存项" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "接受未分配" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受库存项未被完全分配至生产订单" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "必需库存未完成全量分配" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "接受未完工" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "允许所需数量的产出未完成" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "生产需求数量未完成" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "生产订单有打开的子生产订单" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "生产订单必须处于生产状态" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "生产行" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "产出" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "生产产出必须指向相同的生产" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "生产行项目" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单零件相同" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "对于被追踪的零件的分配,必须指定生产产出" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的零件,无法指定生产产出" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "必须提供分配项目" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "零件来源的库存地点(留空则可来源于任何库存地点)" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "排除位置" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "从该选定的库存地点排除库存项" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "可互换库存" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "在多个位置的库存项目可以互换使用" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "替代品库存" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "允许分配可替换的零件" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "可选项目" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "分配可选的物料清单给生产订单" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "所有物料" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "未跟踪的物品" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "已跟踪的物品" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "物品类型" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "选择要自动分配的条目类型" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "库存优先级" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "匹配库存物料的优先消耗顺序" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "产线" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "仅分配物料至指定产线(留空则允许分配至全部产线)" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "物料清单参考" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "物料清单零件识别号码" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "物料清单零件名称" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "安裝到" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "生产" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "供应商零件" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "已分配数量" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "生产订单编号" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "零件类别名称" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "可追踪" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "已继承的" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "允许变体" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "物料清单项" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "生产中" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "生产计划" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "外部库存" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "可用库存" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "可用的替代品库存" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "可用的变体库存" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "消耗数量超过分配数量" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "库存消耗可选备注" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "生产物料项必须关联到正确的生产订单" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "重复的生产物料项分配" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "订单行项目必须关联到正确的生产订单" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "重复的订单行项目分配" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "必须提供至少一个物料项或行项目" @@ -1555,7 +1564,7 @@ msgstr "已暂停" msgid "Cancelled" msgstr "已取消" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "未提供有效的货币代码" msgid "No plugin" msgstr "暂无插件" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "标签" @@ -1667,8 +1676,8 @@ msgstr "项目描述" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "激活" @@ -1716,7 +1725,7 @@ msgstr "键字符串必须是唯一的" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "标题" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "链接" @@ -1896,7 +1905,7 @@ msgstr "定义" msgid "Unit definition" msgstr "单位定义" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "附件" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "等同于商业逻辑中自定义状态的状态逻辑键" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "值" @@ -2098,7 +2107,7 @@ msgstr "选择列表的名称" msgid "Description of the selection list" msgstr "选择列表的描述" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "已锁定" @@ -2206,7 +2215,7 @@ msgstr "勾选框参数不能有单位" msgid "Checkbox parameters cannot have choices" msgstr "复选框参数不能有选项" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "选择必须是唯一的" @@ -2222,7 +2231,7 @@ msgstr "此参数模板的目标模型类型" msgid "Parameter Name" msgstr "参数名称" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "单位" @@ -2242,7 +2251,7 @@ msgstr "勾选框" msgid "Is this parameter a checkbox?" msgstr "此参数是否为勾选框?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "选项" @@ -2254,7 +2263,7 @@ msgstr "此参数的有效选择 (逗号分隔)" msgid "Selection list for this parameter" msgstr "此参数的选择列表" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "已启用" @@ -2308,7 +2317,7 @@ msgstr "模板" msgid "Parameter template" msgstr "参数模板" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "数据" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "参数值" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "条码数据" msgid "User who scanned the barcode" msgstr "扫描条码的用户" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "时间戳" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "扫描条形码的响应数据" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "结果" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "文件名" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "模型类型" @@ -3008,7 +3017,7 @@ msgstr "零件默认为模板" msgid "Parts can be assembled from other components by default" msgstr "默认情况下,元件可由其他零件组装而成" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "组件" @@ -3017,7 +3026,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "默认情况下,零件可用作子部件" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "可购买" @@ -3025,7 +3034,7 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "默认情况下可购买零件" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "可销售" @@ -3037,7 +3046,7 @@ msgstr "零件默认为可销售" msgid "Parts are trackable by default" msgstr "默认情况下可跟踪零件" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "虚拟的" @@ -4340,7 +4349,7 @@ msgid "Manufacturer" msgstr "制造商" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "公司" @@ -4526,7 +4535,7 @@ msgid "Link to address information (external)" msgstr "链接地址信息 (外部)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "制造商零件" @@ -4576,7 +4585,7 @@ msgstr "链接的制造商零件必须引用相同的基础零件" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "供应商" @@ -4612,11 +4621,11 @@ msgstr "外部供应商零件链接的URL" msgid "Supplier part description" msgstr "供应商零件说明" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "基本费用" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低费用(例如库存费)" @@ -4637,7 +4646,7 @@ msgstr "包装数量" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "单包供应的总数量。为单个项目留空。" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "多个" @@ -4733,152 +4742,152 @@ msgstr "放置" msgid "Invalid status code" msgstr "无效状态码" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "数据文件" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "要导入的数据文件" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "列" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "本次导入会话的目标模型类型" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "导入状态" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "字段默认值" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "字段覆盖" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "字段筛选器" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "更新现有记录" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "若启用,现有记录将被新数据更新" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "某些必填字段尚未映射" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "已完成条目数量历史记录" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "条目数量历史记录" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "记录的现有数据库标识符" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "列已映射到数据库字段" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "字段已映射到数据列" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "列映射必须链接到有效的导入会话" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "数据文件中不存在列" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "目标模型中不存在字段" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "所选字段为只读" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "查找字段仅支持设置关联(外键)字段" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "查找字段无效,可用选项:{options}" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "导入会话" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "字段" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "列" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "查找字段" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "用于外键检索的数据库字段,留空则自动检索。" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "行索引" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "原始行数据" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "错误" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "有效" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "匹配到多条结果,请确保该值唯一,或指定专用查找字段" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "没有找到与提供的ID相关的记录" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "提供的ID格式无效" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "更新现有记录需要提供ID。" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "不支持的数据文件格式" @@ -4886,7 +4895,11 @@ msgstr "不支持的数据文件格式" msgid "Failed to open data file" msgstr "打开数据文件失败" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "数据文件维度无效" @@ -5694,7 +5707,7 @@ msgstr "序列化库存项目的数量必须为1" msgid "Sales order does not match shipment" msgstr "销售订单与发货不匹配" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "发货与销售订单不匹配" @@ -5910,7 +5923,7 @@ msgstr "将具有相同零件、目的地和目标日期的项目合并到一个 msgid "SKU" msgstr "库存量单位" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "内部零件编号" @@ -6178,7 +6191,7 @@ msgstr "已加星标" msgid "Filter by starred categories" msgstr "按星标类别筛选" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "深度" @@ -6186,7 +6199,7 @@ msgstr "深度" msgid "Filter by category depth" msgstr "按类别深度筛选" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "顶级" @@ -6194,7 +6207,7 @@ msgstr "顶级" msgid "Filter by top-level categories" msgstr "按顶级类别筛选" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "级联" @@ -6214,11 +6227,11 @@ msgstr "按父类别筛选" msgid "Exclude sub-categories under the specified category" msgstr "排除指定类别下的子类别" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "最大层级" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "限制物料分类树层级深度" @@ -6298,722 +6311,722 @@ msgstr "有可用库存" msgid "Uses" msgstr "使用" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "零件类别" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "零件类别" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "默认位置" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "此类别零件的默认库存地点" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "结构性" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "零件可能无法直接分配到结构类别,但可以分配到子类别。" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "默认关键字" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "此类别零件的默认关键字" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "图标" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "图标(可选)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "您不能使这个零件类别结构化,因为有些零件已经分配给了它!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "零件类别参数模板" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "默认值" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "默认参数值" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "零件" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "无法删除已锁定零件的参数" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "无法修改已锁定零件的参数" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "无法删除这个零件,因为它已被锁定" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "无法删除这个零件,因为它仍然处于活动状态" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "无法删除这个零件,因为它被使用在了装配中" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "零件 \"{self}\" 不能用在 \"{parent}\" 的物料清单 (递归)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "零件 \"{parent}\" 被使用在了 \"{self}\" 的物料清单 (递归)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "内部零件号必须匹配正则表达式 {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "零件不能是对自身的修订" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "标记为带版本管理的物料必须指定版本代码" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "修订仅对装配零件允许" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "无法对模版零件进行修订" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "上级零件必须指向相同的模版" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "该序列号库存项己存在" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "在零件设置中不允许重复的内部零件号" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "重复的零件修订版本已经存在。" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "有这个名字,内部零件号,和修订版本的零件已经存在" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "零件不能分配到结构性零件类别!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "零件名称" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "是模板" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "这个零件是一个模版零件吗?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "这个零件是另一零件的变体吗?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "变体" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "零件描述(可选)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "关键词" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的零件关键字" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "零件类别" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "内部零件号 IPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "零件修订版本或版本号" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "版本" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "这零件是另一零件的修订版本吗?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "修订版本" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "该物品通常存放在哪里?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "默认到期" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "此零件库存项的过期时间 (天)" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "最低库存" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "允许的最小库存量" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "最大库存" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "最大允许库存水平" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "此零件的计量单位" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "这个零件可由其他零件加工而成吗?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "这个零件可用于创建其他零件吗?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "此零件是否有唯一物品的追踪功能" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "这一部件能否记录到测试结果?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "这个零件可从外部供应商购买吗?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "此零件可以销售给客户吗?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "这个零件是否已激活?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "无法编辑锁定的零件" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟零件,例如一个软件产品或许可证吗?" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "该零件是否为消耗品(例如胶水、紧固件)?" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "物料清单已验证" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "该零件的物料清单是否通过验证?" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "物料清单校验和" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "保存的物料清单校验和" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "物料清单检查人" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "物料清单检查日期" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "此零件的负责人" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "出售多个" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "用于缓存定价计算的货币" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "最低物料清单成本" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "元件的最低成本" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "物料清单的最高成本" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "元件的最高成本" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "最低购买成本" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "最大购买成本" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "最低内部价格" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "基于内部批发价的最低成本" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "最大内部价格" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "基于内部批发价的最高成本" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "供应商最低价格" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "外部供应商零件的最低价格" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "供应商最高价格" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "来自外部供应商的商零件的最高价格" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "最小变体成本" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "计算出的变体零件的最低成本" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "最大变体成本" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "计算出的变体零件的最大成本" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "最低成本" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "覆盖最低成本" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "最高成本" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "覆盖最大成本" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "计算总最低成本" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "计算总最大成本" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "最低售出价格" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "基于批发价的最低售出价格" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "最高售出价格" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "基于批发价的最大售出价格" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "最低销售成本" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "历史最低售出价格" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "最高销售成本" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "历史最高售出价格" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "用于盘点的零件" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "物品数量" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "盘点时的个别库存条目数" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "盘点时可用库存总额" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "日期" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "进行盘点的日期" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "最低库存成本" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "现有存库存最低成本估算" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "最高库存成本" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "目前库存最高成本估算" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "零件售出价格折扣" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "零件内部批发价" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "零件测试模板" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "模板名称无效 - 必须包含至少一个字母或者数字" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "测试模板只能为可拆分的部件创建" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "零件已存在具有相同主键的测试模板" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "测试名" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "输入测试的名称" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "测试主键" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "简化测试主键" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "测试说明" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "输入测试的描述" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "此测试是否已启用?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "必须的" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "需要此测试才能通过吗?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "需要值" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "添加测试结果时是否需要一个值?" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "需要附件" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "添加测试结果时是否需要文件附件?" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "此测试的有效选择 (逗号分隔)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "数量无效 - 未指定零件的单位" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "数量必须大于或等于零" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "物料清单项目不能被修改 - 装配已锁定" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "物料清单项目不能修改 - 变体装配已锁定" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "选择父零件" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "子零件" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "选择要用于物料清单的零件" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "数量" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "生产一个部件所消耗的子零件数量" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "此物料清单项目的数量" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "此物料清单项目是可选的" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "这个物料清单项目是耗材 (它没有在生产订单中被追踪)" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "设置数量" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "为补偿生产准备损耗所需的额外数量" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "损耗" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "生产预估损耗率(百分比,0-100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "舍入倍数" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "将所需生产数量向上舍入至该值的最接近倍数" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "物料清单项目引用" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "物料清单项目注释" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "校验和" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "物料清单行校验和" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "已验证" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "此物料清单项目已验证" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "获取继承的" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "此物料清单项目是由物料清单继承的变体零件" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "变体零件的库存项可以用于此物料清单项目" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "可追踪零件的数量必须是整数" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "必须指定子零件" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "物料清单项目替代品" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "替代品零件不能与主零件相同" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "上级物料清单项目" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "替代品零件" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "零件 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "零件2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "选择相关的零件" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "此关系的注释" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "零件关系不能在零件和自身之间创建" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "复制关系已经存在" @@ -7377,41 +7390,41 @@ msgstr "复制替代品零件" msgid "Copy substitute parts when duplicate BOM items" msgstr "复制物料清单项目时复制替代品零件" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "低库存通知" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "可用的 {part.name}库存已经跌到设置的最低值" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "到期库存通知" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "您有1个库存项即将到期" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "您有{item_count}个库存项即将到期" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "永久有效" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "已过期 {abs(days_diff)} 天" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "今天到期" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "{days_until_expiry}天" @@ -7464,71 +7477,79 @@ msgstr "找不到模型实例" msgid "Barcode matches existing item" msgstr "条形码匹配现有项目" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "没有找到匹配的零件数据" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "没有找到匹配的供应商零件" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "找到多个匹配的供应商零件" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "没有找到匹配条形码数据的插件" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "匹配的供应商零件" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "项目已被接收" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "已找到采购订单\\r但无匹配供应商零件" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "已匹配到供应商零件\\r但未找到对应采购订单" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "没有匹配供应商条形码的插件" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "找到多个匹配的行项目" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "未找到匹配的行项目" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "未提供销售订单" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "条形码与现有的库存项不匹配" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "库存项与行项目不匹配" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "可用库存不足" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "库存项已分配到销售订单" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "没有足够的信息" @@ -8591,19 +8612,19 @@ msgstr "无效的标签尺寸" msgid "No valid items provided to template" msgstr "没有有效的项目提供到模板" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "法律" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "字母" @@ -8892,196 +8913,196 @@ msgstr "没有结果" msgid "Transferred" msgstr "已调拨" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "无效的媒体文件路径" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "无效的静态文件路径" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "未找到资源文件" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "找不到图片文件" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "未指定图片文件" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "parpart_image 标签需要一个零件实例" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "公司_图片标签需要一个公司实例" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "按位置深度筛选" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "按顶级位置筛选" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "在筛选结果中包含子地点" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "上级地点" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "按上级位置筛选" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "零件名称 (不区分大小写)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "零件名称包含 (不区分大小写)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "零件名称 (正则表达式)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "内部零件号 (不区分大小写)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "内部零件号 (不区分大小写)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "内部零件号 (正则表达式)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "最低库存" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "最大库存" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "状态代码" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "外部地点" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "被生产订单消耗" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "安装于其他库存项中" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "零件树" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "更新时间早于" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "更新时间晚于" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "盘点时间早于" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "盘点时间晚于" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "存在盘点日期" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "过期日期前" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "过期日期后" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "过期" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "级联位置" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "若为真,则包含给定位置的所有子位置中的项目" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "按数字位置ID或字母“null”筛选" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "请先输入数量" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "必须提供有效的零件" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "给定的供应商零件不存在" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "供应商零件有定义的包装大小,但 use_pack_size 标志未设置" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "不能为不可跟踪的零件提供序列号" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "包含已安装项" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "如果为真,则包含给定库存项下已安装组件的测试结果" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "按数字库存项ID进行筛选" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "ID 为 {id} 的库存项不存在" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "包含零件变体" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "日期晚于" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "日期早于" @@ -9305,7 +9326,7 @@ msgstr "数量超过可用库存" #: stock/models.py:1903 msgid "Invalid quantity value" -msgstr "" +msgstr "无效的数量值" #: stock/models.py:1966 stock/models.py:2478 msgid "Cannot assign stock to structural location" @@ -9348,115 +9369,115 @@ msgstr "必须以列表形式提供序列号" msgid "Quantity does not match serial numbers" msgstr "数量不匹配序列号" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "测试模板不存在" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "库存项已分配到销售订单" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "库存项已安装在另一个项目中" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "库存项包含其他项目" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "库存项已分配给客户" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "库存项目前正在生产" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "序列化的库存不能合并" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "复制库存项" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "库存项必须指相同零件" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "库存项必须是同一供应商的零件" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "库存状态码必须匹配" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "库存项不能移动,因为它没有库存" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "库存项跟踪" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "条目注释" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "库存项测试结果" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "必须为此测试提供值" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "测试附件必须上传" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "此测试的值无效" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "测试结果" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "测试输出值" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "测验结果附件" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "测试备注" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "测试站" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "进行测试的测试站的标识符" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "已开始" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "测试开始的时间戳" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "已完成" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "测试结束的时间戳" @@ -9619,11 +9640,6 @@ msgstr "安装数量不得超过可用数量" msgid "Destination location for uninstalled item" msgstr "已卸载项目的目标位置" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "结构型库位不允许存放库存物料" - #: stock/serializers.py:979 msgid "Stock item status code" 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 3bc7216a5e..93db057f66 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: 2026-07-31 02:19+0000\n" -"PO-Revision-Date: 2026-07-31 02:21\n" +"POT-Creation-Date: 2026-08-10 13:25+0000\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -92,12 +92,16 @@ msgid "Could not convert {original} to {unit}" msgstr "不能將 {original} 轉換到 {unit}" #: InvenTree/conversion.py:289 InvenTree/conversion.py:303 -#: InvenTree/helpers.py:612 order/models.py:814 order/models.py:1146 -#: part/models.py:3814 stock/models.py:2114 +#: InvenTree/helpers.py:627 order/models.py:814 order/models.py:1146 +#: part/models.py:3845 stock/models.py:2114 msgid "Invalid quantity provided" msgstr "提供的數量無效" -#: InvenTree/exceptions.py:141 +#: InvenTree/exceptions.py:128 +msgid "Server is temporarily reloading, please retry the request" +msgstr "" + +#: InvenTree/exceptions.py:161 msgid "Error details can be found in the admin panel" msgstr "在管理面板中可以找到錯誤詳細信息" @@ -110,10 +114,10 @@ msgid "Invalid decimal value" msgstr "無效的十進位數值" #: InvenTree/fields.py:286 InvenTree/models.py:1365 build/serializers.py:530 -#: build/serializers.py:582 build/serializers.py:1766 company/models.py:828 +#: build/serializers.py:591 build/serializers.py:1775 company/models.py:828 #: order/models.py:2225 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:3759 stock/models.py:3883 stock/serializers.py:753 +#: stock/models.py:3780 stock/models.py:3906 stock/serializers.py:753 #: stock/serializers.py:935 stock/serializers.py:1114 stock/serializers.py:1280 #: stock/serializers.py:1664 stock/serializers.py:1753 #: stock/serializers.py:1962 @@ -129,91 +133,91 @@ msgstr "值' {name}' 未出現在模式格式中" msgid "Provided value does not match required pattern: " msgstr "提供的值與所需模式不匹配:" -#: InvenTree/helpers.py:616 +#: InvenTree/helpers.py:631 msgid "Cannot serialize more than 1000 items at once" msgstr "一次不能序列化超過 1000 個項目" -#: InvenTree/helpers.py:622 +#: InvenTree/helpers.py:637 msgid "Empty serial number string" msgstr "序號為空白" -#: InvenTree/helpers.py:651 +#: InvenTree/helpers.py:666 msgid "Duplicate serial" msgstr "複製序列號" -#: InvenTree/helpers.py:683 InvenTree/helpers.py:726 InvenTree/helpers.py:744 -#: InvenTree/helpers.py:751 InvenTree/helpers.py:770 +#: InvenTree/helpers.py:698 InvenTree/helpers.py:741 InvenTree/helpers.py:759 +#: InvenTree/helpers.py:766 InvenTree/helpers.py:785 #, python-brace-format msgid "Invalid group: {group}" msgstr "無效的群組:{group}" -#: InvenTree/helpers.py:714 +#: InvenTree/helpers.py:729 #, python-brace-format msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" msgstr "組範圍 {group} 超出了允許的數量 ({expected_quantity})" -#: InvenTree/helpers.py:780 +#: InvenTree/helpers.py:795 msgid "No serial numbers found" msgstr "未找到序列號" -#: InvenTree/helpers.py:787 +#: InvenTree/helpers.py:802 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" msgstr "唯一序列號數量 ({n}) 必須與數量 ({q}) 相符" -#: InvenTree/helpers.py:917 +#: InvenTree/helpers.py:932 msgid "Remove HTML tags from this value" msgstr "從這個值中刪除 HTML 標籤" -#: InvenTree/helpers.py:994 +#: InvenTree/helpers.py:1009 msgid "Data contains prohibited markdown content" msgstr "資料包含被禁止的 Markdown 內容" -#: InvenTree/helpers_model.py:104 +#: InvenTree/helpers_model.py:166 msgid "Invalid URL: no hostname" msgstr "無效的 URL:沒有主機名稱" -#: InvenTree/helpers_model.py:109 +#: InvenTree/helpers_model.py:171 msgid "Invalid URL: hostname could not be resolved" msgstr "無效的 URL:無法解析主機名稱" -#: InvenTree/helpers_model.py:115 +#: InvenTree/helpers_model.py:175 msgid "URL points to a private or reserved IP address" msgstr "URL 指向私有或保留的 IP 地址" -#: InvenTree/helpers_model.py:192 +#: InvenTree/helpers_model.py:256 msgid "Too many redirects" msgstr "重新導向次數過多" -#: InvenTree/helpers_model.py:197 +#: InvenTree/helpers_model.py:261 msgid "Connection error" msgstr "連接錯誤" -#: InvenTree/helpers_model.py:202 InvenTree/helpers_model.py:211 +#: InvenTree/helpers_model.py:266 InvenTree/helpers_model.py:275 msgid "Server responded with invalid status code" msgstr "服務器響應狀態碼無效" -#: InvenTree/helpers_model.py:207 +#: InvenTree/helpers_model.py:271 msgid "Exception occurred" msgstr "發生異常" -#: InvenTree/helpers_model.py:217 +#: InvenTree/helpers_model.py:281 msgid "Server responded with invalid Content-Length value" msgstr "服務器響應的內容長度值無效" -#: InvenTree/helpers_model.py:220 +#: InvenTree/helpers_model.py:284 msgid "Image size is too large" msgstr "圖片尺寸過大" -#: InvenTree/helpers_model.py:232 +#: InvenTree/helpers_model.py:296 msgid "Image download exceeded maximum size" msgstr "圖片下載超出最大尺寸" -#: InvenTree/helpers_model.py:237 +#: InvenTree/helpers_model.py:301 msgid "Remote server returned empty response" msgstr "遠程服務器返回了空響應" -#: InvenTree/helpers_model.py:245 +#: InvenTree/helpers_model.py:309 msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一個有效的圖片文件" @@ -280,7 +284,7 @@ msgstr "無效的選項" #: InvenTree/models.py:1099 common/models.py:1455 common/models.py:1889 #: common/models.py:2325 common/models.py:2450 common/models.py:2760 #: common/serializers.py:681 generic/states/serializers.py:20 -#: machine/models.py:28 part/models.py:1109 plugin/models.py:54 +#: machine/models.py:28 part/models.py:1119 plugin/models.py:54 #: report/models.py:222 stock/models.py:89 msgid "Name" msgstr "名稱" @@ -288,7 +292,7 @@ msgstr "名稱" #: InvenTree/models.py:1105 build/models.py:266 common/models.py:180 #: common/models.py:2457 common/models.py:2598 common/models.py:2775 #: company/models.py:563 company/models.py:819 order/models.py:500 -#: order/models.py:2270 part/models.py:1132 report/models.py:228 +#: order/models.py:2270 part/models.py:1142 report/models.py:228 #: report/models.py:872 report/models.py:898 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:95 @@ -346,75 +350,75 @@ msgstr "伺服器紀錄了一個錯誤。" msgid "Image" msgstr "圖像" -#: InvenTree/serializers.py:467 +#: InvenTree/serializers.py:545 msgid "Must be a valid number" msgstr "必須是有效的數字" -#: InvenTree/serializers.py:509 company/models.py:217 part/models.py:3184 +#: InvenTree/serializers.py:587 company/models.py:217 part/models.py:3215 msgid "Currency" msgstr "貨幣" -#: InvenTree/serializers.py:512 part/serializers.py:1389 +#: InvenTree/serializers.py:590 part/serializers.py:1389 msgid "Select currency from available options" msgstr "從可用選項中選擇貨幣" -#: InvenTree/serializers.py:858 +#: InvenTree/serializers.py:936 msgid "This field may not be null." msgstr "此欄位不可為空白。" -#: InvenTree/serializers.py:864 +#: InvenTree/serializers.py:942 msgid "Invalid value" msgstr "無效值" -#: InvenTree/serializers.py:1019 +#: InvenTree/serializers.py:1097 msgid "Invalid content type format" msgstr "不合規的內容類型格式" -#: InvenTree/serializers.py:1022 +#: InvenTree/serializers.py:1100 msgid "Content type not found" msgstr "內容類型未發現" -#: InvenTree/serializers.py:1028 +#: InvenTree/serializers.py:1106 msgid "Content type does not match required mixin class" msgstr "內容類型與所需的 mixin 類別不符" -#: InvenTree/serializers.py:1045 +#: InvenTree/serializers.py:1123 msgid "Copy Parameters" msgstr "複製參數" -#: InvenTree/serializers.py:1046 +#: InvenTree/serializers.py:1124 msgid "Copy parameters from the original item" msgstr "" -#: InvenTree/serializers.py:1051 +#: InvenTree/serializers.py:1129 msgid "Copy Lines" msgstr "複製行" -#: InvenTree/serializers.py:1052 +#: InvenTree/serializers.py:1130 msgid "Copy line items from the original order" msgstr "從原始訂單複製行項目" -#: InvenTree/serializers.py:1057 +#: InvenTree/serializers.py:1135 msgid "Copy Extra Lines" msgstr "複製額外行" -#: InvenTree/serializers.py:1058 +#: InvenTree/serializers.py:1136 msgid "Copy extra line items from the original order" msgstr "從原始訂單複製額外的行項目" -#: InvenTree/serializers.py:1082 +#: InvenTree/serializers.py:1160 msgid "Duplication Options" msgstr "" -#: InvenTree/serializers.py:1084 +#: InvenTree/serializers.py:1162 msgid "Specify options for duplicating this item" msgstr "" -#: InvenTree/serializers.py:1122 +#: InvenTree/serializers.py:1200 msgid "Original" msgstr "" -#: InvenTree/serializers.py:1123 +#: InvenTree/serializers.py:1201 msgid "Select instance to duplicate" msgstr "" @@ -597,20 +601,20 @@ msgstr "上層生產工單" #: build/api.py:87 build/api.py:1055 order/api.py:565 order/api.py:804 #: order/api.py:1259 order/api.py:1571 order/api.py:1867 order/api.py:2057 -#: stock/api.py:624 +#: stock/api.py:632 msgid "Include Variants" msgstr "包含變體" #: build/api.py:103 build/api.py:490 build/api.py:1069 build/models.py:284 -#: build/serializers.py:1191 build/serializers.py:1367 -#: build/serializers.py:1460 company/models.py:1038 company/serializers.py:473 +#: build/serializers.py:1200 build/serializers.py:1376 +#: build/serializers.py:1469 company/models.py:1038 company/serializers.py:473 #: order/api.py:316 order/api.py:320 order/api.py:961 order/api.py:1272 #: order/api.py:1275 order/api.py:2070 order/api.py:2073 order/api.py:2227 #: order/models.py:2402 order/models.py:2570 order/models.py:2571 #: order/models.py:4195 order/models.py:4196 part/api.py:1179 part/api.py:1182 -#: part/api.py:1399 part/models.py:529 part/models.py:3195 part/models.py:3338 -#: part/models.py:3396 part/models.py:3418 part/models.py:3440 -#: part/models.py:3581 part/models.py:3908 part/models.py:4341 +#: part/api.py:1399 part/models.py:530 part/models.py:3226 part/models.py:3369 +#: part/models.py:3427 part/models.py:3449 part/models.py:3471 +#: part/models.py:3612 part/models.py:3939 part/models.py:4377 #: part/serializers.py:1338 part/serializers.py:2004 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 @@ -621,7 +625,7 @@ msgstr "包含變體" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: report/templates/report/inventree_transfer_order_report.html:25 -#: stock/api.py:637 stock/api.py:1573 stock/serializers.py:125 +#: stock/api.py:645 stock/api.py:1581 stock/serializers.py:125 #: stock/serializers.py:177 stock/serializers.py:428 stock/serializers.py:614 #: stock/serializers.py:1198 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 @@ -632,9 +636,9 @@ msgstr "包含變體" msgid "Part" msgstr "零件" -#: build/api.py:123 build/api.py:126 build/serializers.py:1474 part/api.py:1012 -#: part/api.py:1410 part/models.py:413 part/models.py:1150 part/models.py:3468 -#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:915 +#: build/api.py:123 build/api.py:126 build/serializers.py:1483 part/api.py:1012 +#: part/api.py:1410 part/models.py:414 part/models.py:1160 part/models.py:3499 +#: part/serializers.py:1348 part/serializers.py:1775 stock/api.py:923 msgid "Category" msgstr "類別" @@ -650,11 +654,11 @@ msgstr "分配給我" msgid "Assigned To" msgstr "負責人" -#: build/api.py:205 stock/api.py:958 +#: build/api.py:205 stock/api.py:966 msgid "Created before" msgstr "建立於之前" -#: build/api.py:209 stock/api.py:962 +#: build/api.py:209 stock/api.py:970 msgid "Created after" msgstr "建立於之後" @@ -706,18 +710,18 @@ msgstr "排除樹" msgid "Build must be cancelled before it can be deleted" msgstr "工單必須被取消才能被刪除" -#: build/api.py:460 build/serializers.py:1401 part/models.py:1317 -#: part/models.py:3950 +#: build/api.py:460 build/serializers.py:1410 part/models.py:1327 +#: part/models.py:3981 msgid "Consumable" msgstr "耗材" -#: build/api.py:476 build/serializers.py:1404 part/models.py:3944 +#: build/api.py:476 build/serializers.py:1413 part/models.py:3975 msgid "Optional" msgstr "非必須項目" -#: build/api.py:479 build/serializers.py:1446 common/setting/system.py:476 -#: part/models.py:1265 part/serializers.py:1720 part/serializers.py:1746 -#: stock/api.py:690 +#: build/api.py:479 build/serializers.py:1455 common/setting/system.py:476 +#: part/models.py:1275 part/serializers.py:1720 part/serializers.py:1746 +#: stock/api.py:698 msgid "Assembly" msgstr "裝配" @@ -725,7 +729,7 @@ msgstr "裝配" msgid "Tracked" msgstr "追蹤中" -#: build/api.py:485 build/serializers.py:1407 part/models.py:1283 +#: build/api.py:485 build/serializers.py:1416 part/models.py:1293 msgid "Testable" msgstr "可測試" @@ -733,12 +737,12 @@ msgstr "可測試" msgid "Order Outstanding" msgstr "訂單未完成" -#: build/api.py:505 build/serializers.py:1503 order/api.py:984 +#: build/api.py:505 build/serializers.py:1512 order/api.py:984 #: order/api.py:2250 msgid "Allocated" msgstr "已分配" -#: build/api.py:530 build/models.py:2268 build/serializers.py:1420 +#: build/api.py:530 build/models.py:2268 build/serializers.py:1429 msgid "Consumed" msgstr "已消耗" @@ -749,7 +753,7 @@ msgstr "已消耗" msgid "Available" msgstr "可用數量" -#: build/api.py:580 build/serializers.py:1505 company/serializers.py:447 +#: build/api.py:580 build/serializers.py:1514 company/serializers.py:447 #: order/serializers.py:1409 order/serializers.py:2727 part/serializers.py:844 #: part/serializers.py:1199 part/serializers.py:1784 msgid "On Order" @@ -767,11 +771,11 @@ msgid "Build Order" msgstr "生產工單" #: build/api.py:1106 build/api.py:1110 build/serializers.py:412 -#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1241 -#: build/serializers.py:1247 order/api.py:1319 order/api.py:1324 +#: build/serializers.py:518 build/serializers.py:569 build/serializers.py:1250 +#: build/serializers.py:1256 order/api.py:1319 order/api.py:1324 #: order/api.py:2109 order/api.py:2114 order/serializers.py:867 #: order/serializers.py:1007 order/serializers.py:2294 part/serializers.py:1358 -#: stock/api.py:1030 stock/serializers.py:116 stock/serializers.py:626 +#: stock/api.py:1038 stock/serializers.py:116 stock/serializers.py:626 #: stock/serializers.py:746 stock/serializers.py:930 stock/serializers.py:1039 #: stock/serializers.py:1107 stock/serializers.py:1746 #: stock/serializers.py:2019 stock/serializers.py:2147 @@ -824,9 +828,9 @@ msgstr "目標日期必須晚於開始日期" msgid "Build Order Reference" msgstr "生產工單代號" -#: build/models.py:260 build/serializers.py:1398 order/models.py:713 +#: build/models.py:260 build/serializers.py:1407 order/models.py:713 #: order/models.py:1479 order/models.py:2218 order/models.py:3365 -#: order/models.py:3844 part/models.py:3990 +#: order/models.py:3844 part/models.py:4021 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_purchase_order_report.html:35 #: report/templates/report/inventree_return_order_report.html:26 @@ -855,7 +859,7 @@ msgstr "銷售訂單代號" msgid "Sales Order to which this build is allocated" msgstr "分配此生產的銷售訂單" -#: build/models.py:303 build/serializers.py:1052 order/models.py:3864 +#: build/models.py:303 build/serializers.py:1061 order/models.py:3864 #: order/serializers.py:2033 msgid "Source Location" msgstr "來源倉儲地點" @@ -914,7 +918,7 @@ msgid "Batch code for this build output" msgstr "此產出的批號" #: build/models.py:365 order/models.py:537 order/serializers.py:164 -#: part/models.py:1352 stock/models.py:1320 +#: part/models.py:1362 stock/models.py:1320 msgid "Creation Date" msgstr "建立日期" @@ -952,7 +956,7 @@ msgid "User who issued this build order" msgstr "發布此生產工單的使用者" #: build/models.py:420 common/models.py:195 order/api.py:187 -#: order/models.py:569 part/models.py:1369 +#: order/models.py:569 part/models.py:1379 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" msgstr "負責人" @@ -965,7 +969,7 @@ msgstr "負責此生產工單的使用者或羣組" msgid "External Link" msgstr "外部連結" -#: build/models.py:428 common/models.py:2146 part/models.py:1184 +#: build/models.py:428 common/models.py:2146 part/models.py:1194 #: stock/models.py:1234 msgid "Link to external URL" msgstr "外部URL連結" @@ -1016,9 +1020,9 @@ msgid "Build output has already been completed" msgstr "" #: build/models.py:1380 build/models.py:1481 build/serializers.py:321 -#: build/serializers.py:375 build/serializers.py:909 build/serializers.py:1717 +#: build/serializers.py:375 build/serializers.py:918 build/serializers.py:1726 #: order/models.py:811 order/serializers.py:643 order/serializers.py:878 -#: part/models.py:3798 stock/models.py:1079 stock/models.py:1504 +#: part/models.py:3829 stock/models.py:1079 stock/models.py:1504 #: stock/models.py:1588 stock/models.py:1906 stock/models.py:2117 #: stock/models.py:2440 stock/serializers.py:724 stock/serializers.py:1030 #: stock/serializers.py:1092 stock/serializers.py:1909 @@ -1043,11 +1047,11 @@ msgstr "無法部分完成具有已分配項目的生產產出" #: build/models.py:1658 order/models.py:4382 order/serializers.py:1997 #: order/serializers.py:2848 stock/models.py:1494 stock/models.py:1898 -#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2726 +#: stock/models.py:2121 stock/models.py:2444 stock/models.py:2738 msgid "Stock item no longer exists" msgstr "" -#: build/models.py:1676 build/serializers.py:957 order/serializers.py:1775 +#: build/models.py:1676 build/serializers.py:966 order/serializers.py:1775 #: order/serializers.py:2804 #, python-brace-format msgid "Available quantity ({q}) exceeded" @@ -1062,10 +1066,10 @@ msgid "Build object" msgstr "生產對象" #: build/models.py:2259 build/models.py:2539 build/serializers.py:307 -#: build/serializers.py:360 build/serializers.py:1419 common/models.py:1379 +#: build/serializers.py:360 build/serializers.py:1428 common/models.py:1379 #: order/models.py:2181 order/models.py:3256 order/models.py:4349 #: order/serializers.py:1884 order/serializers.py:2388 -#: order/serializers.py:2974 part/models.py:3352 part/models.py:3938 +#: order/serializers.py:2974 part/models.py:3383 part/models.py:3969 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1097,7 +1101,7 @@ msgstr "已消耗庫存數量" msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生產項必須指定產出,因為主零件已經被標記為可追蹤的" -#: build/models.py:2433 build/serializers.py:940 +#: build/models.py:2433 build/serializers.py:949 msgid "Selected stock item does not match BOM line" msgstr "選擇的庫存品項和BOM的項目不符" @@ -1118,11 +1122,11 @@ msgstr "分配的數量({q})不能超過可用的庫存數量({a})" msgid "Stock item is over-allocated" msgstr "庫存品項超額分配" -#: build/models.py:2529 build/serializers.py:892 build/serializers.py:1208 +#: build/models.py:2529 build/serializers.py:901 build/serializers.py:1217 #: order/serializers.py:1712 order/serializers.py:1733 #: order/serializers.py:2750 order/serializers.py:2771 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/api.py:1464 stock/models.py:470 stock/serializers.py:107 +#: stock/api.py:1472 stock/models.py:470 stock/serializers.py:107 #: stock/serializers.py:842 stock/serializers.py:1598 stock/serializers.py:1714 msgid "Stock Item" msgstr "庫存品項" @@ -1151,7 +1155,7 @@ msgstr "構建等級" msgid "Part Name" msgstr "零件名稱" -#: build/serializers.py:247 build/serializers.py:919 +#: build/serializers.py:247 build/serializers.py:928 msgid "Build Output" msgstr "產出" @@ -1204,12 +1208,12 @@ msgstr "自動分配序號" msgid "Automatically allocate required items with matching serial numbers" msgstr "自動為需要項目分配對應的序號" -#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1232 +#: build/serializers.py:456 order/serializers.py:985 stock/api.py:1240 #: stock/models.py:730 stock/models.py:2467 msgid "The following serial numbers already exist or are invalid" msgstr "序號已存在或無效" -#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:591 +#: build/serializers.py:498 build/serializers.py:542 build/serializers.py:600 msgid "A list of build outputs must be provided" msgstr "必須提供產出清單" @@ -1233,304 +1237,309 @@ msgstr "廢品產出的原因" msgid "Location for completed build outputs" msgstr "已完成刪除的庫存地點" -#: build/serializers.py:578 order/serializers.py:2561 +#: build/serializers.py:577 stock/serializers.py:945 stock/serializers.py:2027 +#: stock/serializers.py:2155 stock/serializers.py:2264 +msgid "Structural locations cannot be assigned stock items" +msgstr "" + +#: build/serializers.py:587 order/serializers.py:2561 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:579 +#: build/serializers.py:588 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果庫存尚未全部分配,則完成產出" -#: build/serializers.py:644 +#: build/serializers.py:653 msgid "Consume Allocated Stock" msgstr "消費已分配的庫存" -#: build/serializers.py:645 +#: build/serializers.py:654 msgid "Consume any stock which has already been allocated to this build" msgstr "消耗已分配給此生產的任何庫存" -#: build/serializers.py:651 +#: build/serializers.py:660 msgid "Remove Incomplete Outputs" msgstr "移除未完成的產出" -#: build/serializers.py:652 +#: build/serializers.py:661 msgid "Delete any build outputs which have not been completed" msgstr "刪除所有未完成的產出" -#: build/serializers.py:679 +#: build/serializers.py:688 msgid "Not permitted" msgstr "不允許" -#: build/serializers.py:680 +#: build/serializers.py:689 msgid "Accept as consumed by this build order" msgstr "接受作為此生產訂單的消費" -#: build/serializers.py:681 +#: build/serializers.py:690 msgid "Deallocate before completing this build order" msgstr "完成此生產訂單前取消分配" -#: build/serializers.py:708 +#: build/serializers.py:717 msgid "Overallocated Stock" msgstr "超出分配的庫存" -#: build/serializers.py:711 +#: build/serializers.py:720 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "如何處理分配給生產訂單的額外庫存項" -#: build/serializers.py:722 +#: build/serializers.py:731 msgid "Some stock items have been overallocated" msgstr "有庫存項目已被過度分配" -#: build/serializers.py:727 +#: build/serializers.py:736 msgid "Accept Unallocated" msgstr "接受未分配" -#: build/serializers.py:729 +#: build/serializers.py:738 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受庫存項未被完全分配至生產訂單" -#: build/serializers.py:740 +#: build/serializers.py:749 msgid "Required stock has not been fully allocated" msgstr "所需庫存尚未完全分配" -#: build/serializers.py:745 order/serializers.py:525 order/serializers.py:1789 +#: build/serializers.py:754 order/serializers.py:525 order/serializers.py:1789 msgid "Accept Incomplete" msgstr "接受不完整" -#: build/serializers.py:747 +#: build/serializers.py:756 msgid "Accept that the required number of build outputs have not been completed" msgstr "允許所需數量的產出未完成" -#: build/serializers.py:758 +#: build/serializers.py:767 msgid "Required build quantity has not been completed" msgstr "未完成所需生產數量" -#: build/serializers.py:770 +#: build/serializers.py:779 msgid "Build order has open child build orders" msgstr "生產訂單有打開的子生產訂單" -#: build/serializers.py:773 +#: build/serializers.py:782 msgid "Build order must be in production state" msgstr "生產訂單必須處於生產狀態" -#: build/serializers.py:776 +#: build/serializers.py:785 msgid "Build order has incomplete outputs" msgstr "生產訂單有未完成的產出" -#: build/serializers.py:815 +#: build/serializers.py:824 msgid "Build Line" msgstr "生產行" -#: build/serializers.py:823 +#: build/serializers.py:832 msgid "Build output" msgstr "產出" -#: build/serializers.py:831 +#: build/serializers.py:840 msgid "Build output must point to the same build" msgstr "生產產出必須指向相同的生產" -#: build/serializers.py:863 +#: build/serializers.py:872 msgid "Build Line Item" msgstr "生產行項目" -#: build/serializers.py:881 +#: build/serializers.py:890 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必須與生產訂單零件相同" -#: build/serializers.py:898 stock/serializers.py:1611 +#: build/serializers.py:907 stock/serializers.py:1611 msgid "Item must be in stock" msgstr "商品必須有庫存" -#: build/serializers.py:963 +#: build/serializers.py:972 msgid "Build output must be specified for allocation of tracked parts" msgstr "對於被追蹤的零件的分配,必須指定生產產出" -#: build/serializers.py:971 +#: build/serializers.py:980 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "對於未被追蹤的零件,無法指定生產產出" -#: build/serializers.py:1020 order/serializers.py:1977 +#: build/serializers.py:1029 order/serializers.py:1977 #: order/serializers.py:2829 msgid "Allocation items must be provided" msgstr "必須提供分配項目" -#: build/serializers.py:1054 +#: build/serializers.py:1063 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "零件來源的庫存地點(留空則可來源於任何庫存地點)" -#: build/serializers.py:1063 order/serializers.py:2044 +#: build/serializers.py:1072 order/serializers.py:2044 msgid "Exclude Location" msgstr "排除位置" -#: build/serializers.py:1064 +#: build/serializers.py:1073 msgid "Exclude stock items from this selected location" msgstr "從該選定的庫存地點排除庫存項" -#: build/serializers.py:1069 order/serializers.py:2059 +#: build/serializers.py:1078 order/serializers.py:2059 msgid "Interchangeable Stock" msgstr "可互換庫存" -#: build/serializers.py:1070 +#: build/serializers.py:1079 msgid "Stock items in multiple locations can be used interchangeably" msgstr "在多個位置的庫存項目可以互換使用" -#: build/serializers.py:1075 +#: build/serializers.py:1084 msgid "Substitute Stock" msgstr "替代品庫存" -#: build/serializers.py:1076 +#: build/serializers.py:1085 msgid "Allow allocation of substitute parts" msgstr "允許分配可替換的零件" -#: build/serializers.py:1081 +#: build/serializers.py:1090 msgid "Optional Items" msgstr "可選項目" -#: build/serializers.py:1082 +#: build/serializers.py:1091 msgid "Allocate optional BOM items to build order" msgstr "分配可選的物料清單給生產訂單" -#: build/serializers.py:1088 +#: build/serializers.py:1097 msgid "All Items" msgstr "全部品項" -#: build/serializers.py:1089 +#: build/serializers.py:1098 msgid "Untracked Items" msgstr "未追蹤項目" -#: build/serializers.py:1090 +#: build/serializers.py:1099 msgid "Tracked Items" msgstr "已追蹤項目" -#: build/serializers.py:1092 +#: build/serializers.py:1101 msgid "Item Type" msgstr "品項類型" -#: build/serializers.py:1093 +#: build/serializers.py:1102 msgid "Select item type to auto-allocate" msgstr "選擇要自動分配的項目類型" -#: build/serializers.py:1099 order/serializers.py:2068 +#: build/serializers.py:1108 order/serializers.py:2068 msgid "Stock Priority" msgstr "" -#: build/serializers.py:1100 order/serializers.py:2069 +#: build/serializers.py:1109 order/serializers.py:2069 msgid "Preferred order in which matching stock items are consumed" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1117 msgid "Build Lines" msgstr "" -#: build/serializers.py:1110 +#: build/serializers.py:1119 msgid "Limit allocation to these build lines (leave blank to allocate all lines)" msgstr "" -#: build/serializers.py:1165 +#: build/serializers.py:1174 msgid "BOM Reference" msgstr "物料清單參考" -#: build/serializers.py:1171 +#: build/serializers.py:1180 msgid "BOM Part ID" msgstr "物料清單零件識別號碼" -#: build/serializers.py:1178 +#: build/serializers.py:1187 msgid "BOM Part Name" msgstr "物料清單零件名稱" -#: build/serializers.py:1230 +#: build/serializers.py:1239 msgid "Install Into" msgstr "安裝至" -#: build/serializers.py:1259 build/serializers.py:1488 +#: build/serializers.py:1268 build/serializers.py:1497 msgid "Build" msgstr "生產" -#: build/serializers.py:1279 company/models.py:641 order/api.py:329 +#: build/serializers.py:1288 company/models.py:641 order/api.py:329 #: order/api.py:334 order/api.py:561 order/serializers.py:635 #: stock/models.py:1175 stock/serializers.py:593 msgid "Supplier Part" msgstr "供應商零件" -#: build/serializers.py:1295 stock/serializers.py:656 +#: build/serializers.py:1304 stock/serializers.py:656 msgid "Allocated Quantity" msgstr "已分配數量" -#: build/serializers.py:1362 +#: build/serializers.py:1371 msgid "Build Reference" msgstr "構建參考" -#: build/serializers.py:1372 +#: build/serializers.py:1381 msgid "Part Category Name" msgstr "零件類別名稱" -#: build/serializers.py:1410 common/setting/system.py:500 part/models.py:1277 +#: build/serializers.py:1419 common/setting/system.py:500 part/models.py:1287 msgid "Trackable" msgstr "可追蹤" -#: build/serializers.py:1413 +#: build/serializers.py:1422 msgid "Inherited" msgstr "已繼承的" -#: build/serializers.py:1416 part/models.py:4023 +#: build/serializers.py:1425 part/models.py:4054 msgid "Allow Variants" msgstr "允許變體" -#: build/serializers.py:1422 build/serializers.py:1428 part/models.py:3672 -#: part/models.py:4333 stock/api.py:928 stock/serializers.py:1014 +#: build/serializers.py:1431 build/serializers.py:1437 part/models.py:3703 +#: part/models.py:4369 stock/api.py:936 stock/serializers.py:1014 msgid "BOM Item" msgstr "物料清單項" -#: build/serializers.py:1506 order/serializers.py:1410 +#: build/serializers.py:1515 order/serializers.py:1410 #: order/serializers.py:2728 part/serializers.py:1203 part/serializers.py:1788 msgid "In Production" msgstr "生產中" -#: build/serializers.py:1508 part/serializers.py:835 part/serializers.py:1207 +#: build/serializers.py:1517 part/serializers.py:835 part/serializers.py:1207 msgid "Scheduled to Build" msgstr "排程生產中" -#: build/serializers.py:1511 part/serializers.py:868 +#: build/serializers.py:1520 part/serializers.py:868 msgid "External Stock" msgstr "外部庫存" -#: build/serializers.py:1512 part/serializers.py:1193 part/serializers.py:1851 +#: build/serializers.py:1521 part/serializers.py:1193 part/serializers.py:1851 msgid "Available Stock" msgstr "可用庫存" -#: build/serializers.py:1514 +#: build/serializers.py:1523 msgid "Available Substitute Stock" msgstr "可用的替代品庫存" -#: build/serializers.py:1517 +#: build/serializers.py:1526 msgid "Available Variant Stock" msgstr "可用的變體庫存" -#: build/serializers.py:1730 +#: build/serializers.py:1739 msgid "Consumed quantity exceeds allocated quantity" msgstr "消耗數量超過已分配數量" -#: build/serializers.py:1767 +#: build/serializers.py:1776 msgid "Optional notes for the stock consumption" msgstr "庫存耗用的可選備註" -#: build/serializers.py:1784 +#: build/serializers.py:1793 msgid "Build item must point to the correct build order" msgstr "生產項必須指向正確的生產工單" -#: build/serializers.py:1789 +#: build/serializers.py:1798 msgid "Duplicate build item allocation" msgstr "重複的生產項分配" -#: build/serializers.py:1807 +#: build/serializers.py:1816 msgid "Build line must point to the correct build order" msgstr "生產行必須指向正確的生產工單" -#: build/serializers.py:1812 +#: build/serializers.py:1821 msgid "Duplicate build line allocation" msgstr "重複的生產行分配" -#: build/serializers.py:1824 +#: build/serializers.py:1833 msgid "At least one item or line must be provided" msgstr "至少必須提供一個項目或一行" @@ -1555,7 +1564,7 @@ msgstr "被掛起" msgid "Cancelled" msgstr "已取消" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:680 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:693 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:84 order/status_codes.py:128 msgid "Complete" @@ -1632,8 +1641,8 @@ msgstr "未提供有效的貨幣代碼" msgid "No plugin" msgstr "暫無插件" -#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:407 -#: stock/api.py:1062 +#: common/filters.py:110 company/api.py:155 company/api.py:311 stock/api.py:415 +#: stock/api.py:1070 msgid "Tags" msgstr "" @@ -1667,8 +1676,8 @@ msgstr "項目描述" #: common/models.py:186 common/models.py:1460 common/models.py:2470 #: common/models.py:2605 company/models.py:194 company/models.py:787 -#: machine/models.py:43 part/models.py:1300 plugin/models.py:69 -#: stock/api.py:693 users/models.py:191 users/models.py:550 +#: machine/models.py:43 part/models.py:1310 plugin/models.py:69 +#: stock/api.py:701 users/models.py:191 users/models.py:550 #: users/serializers.py:349 users/serializers.py:470 msgid "Active" msgstr "激活" @@ -1716,7 +1725,7 @@ msgstr "鍵字符串必須是唯一的" #: common/models.py:1357 common/models.py:1358 common/models.py:1468 #: common/models.py:1469 common/models.py:1714 common/models.py:1715 #: common/models.py:2162 common/models.py:2163 common/models.py:3121 -#: importer/models.py:102 part/models.py:3447 part/models.py:3475 +#: importer/models.py:105 part/models.py:3478 part/models.py:3506 #: plugin/models.py:392 plugin/models.py:393 #: report/templates/report/inventree_test_report.html:105 users/models.py:122 #: users/models.py:497 @@ -1827,7 +1836,7 @@ msgstr "標題" #: common/models.py:1774 common/models.py:2145 company/models.py:188 #: company/models.py:483 company/models.py:554 company/models.py:810 #: order/models.py:515 order/models.py:2231 order/models.py:2807 -#: part/models.py:1183 +#: part/models.py:1193 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "連結" @@ -1896,7 +1905,7 @@ msgstr "定義" msgid "Unit definition" msgstr "單位定義" -#: common/models.py:1973 common/models.py:2128 stock/models.py:3878 +#: common/models.py:1973 common/models.py:2128 stock/models.py:3901 #: stock/serializers.py:263 msgid "Attachment" msgstr "附件" @@ -2014,7 +2023,7 @@ msgid "State logical key that is equal to this custom state in business logic" msgstr "等同於商業邏輯中自定義狀態的狀態邏輯鍵" #: common/models.py:2319 common/models.py:2586 machine/serializers.py:27 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:3870 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:3893 msgid "Value" msgstr "值" @@ -2098,7 +2107,7 @@ msgstr "選擇列表名稱" msgid "Description of the selection list" msgstr "選擇列表描述" -#: common/models.py:2464 part/models.py:1305 +#: common/models.py:2464 part/models.py:1315 msgid "Locked" msgstr "已鎖定" @@ -2206,7 +2215,7 @@ msgstr "勾選框參數不能有單位" msgid "Checkbox parameters cannot have choices" msgstr "複選框參數不能有選項" -#: common/models.py:2716 part/models.py:3545 +#: common/models.py:2716 part/models.py:3576 msgid "Choices must be unique" msgstr "選擇必須是唯一的" @@ -2222,7 +2231,7 @@ msgstr "此參數範本的目標模型類型" msgid "Parameter Name" msgstr "參數名稱" -#: common/models.py:2767 part/models.py:1258 +#: common/models.py:2767 part/models.py:1268 msgid "Units" msgstr "單位" @@ -2242,7 +2251,7 @@ msgstr "勾選框" msgid "Is this parameter a checkbox?" msgstr "此參數是否為勾選框?" -#: common/models.py:2788 part/models.py:3632 +#: common/models.py:2788 part/models.py:3663 msgid "Choices" msgstr "選項" @@ -2254,7 +2263,7 @@ msgstr "此參數的有效選擇 (逗號分隔)" msgid "Selection list for this parameter" msgstr "此參數的選擇清單" -#: common/models.py:2805 part/models.py:3607 report/models.py:297 +#: common/models.py:2805 part/models.py:3638 report/models.py:297 msgid "Enabled" msgstr "已啓用" @@ -2308,7 +2317,7 @@ msgstr "模板" msgid "Parameter template" msgstr "參數範本" -#: common/models.py:3068 common/models.py:3110 importer/models.py:674 +#: common/models.py:3068 common/models.py:3110 importer/models.py:684 msgid "Data" msgstr "數據" @@ -2317,7 +2326,7 @@ msgid "Parameter Value" msgstr "參數值" #: common/models.py:3078 company/models.py:827 order/serializers.py:917 -#: order/serializers.py:2299 part/models.py:3998 part/models.py:4373 +#: order/serializers.py:2299 part/models.py:4029 part/models.py:4409 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 @@ -2344,7 +2353,7 @@ msgstr "條碼數據" msgid "User who scanned the barcode" msgstr "掃描條碼" -#: common/models.py:3127 importer/models.py:71 +#: common/models.py:3127 importer/models.py:72 msgid "Timestamp" msgstr "時間戳" @@ -2373,7 +2382,7 @@ msgid "Response data from the barcode scan" msgstr "掃描條碼的響應數據" #: common/models.py:3156 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Result" msgstr "結果" @@ -2617,7 +2626,7 @@ msgid "Filename" msgstr "檔案名稱" #: common/serializers.py:818 common/serializers.py:886 -#: common/serializers.py:960 importer/models.py:91 report/api.py:42 +#: common/serializers.py:960 importer/models.py:94 report/api.py:42 #: report/models.py:303 report/serializers.py:69 msgid "Model Type" msgstr "模型類型" @@ -3008,7 +3017,7 @@ msgstr "零件默認為模板" msgid "Parts can be assembled from other components by default" msgstr "默認情況下,元件可由其他零件組裝而成" -#: common/setting/system.py:482 part/models.py:1271 part/serializers.py:1755 +#: common/setting/system.py:482 part/models.py:1281 part/serializers.py:1755 #: part/serializers.py:1763 msgid "Component" msgstr "組件" @@ -3017,7 +3026,7 @@ msgstr "組件" msgid "Parts can be used as sub-components by default" msgstr "默認情況下,零件可用作子部件" -#: common/setting/system.py:488 part/models.py:1289 +#: common/setting/system.py:488 part/models.py:1299 msgid "Purchaseable" msgstr "可購買" @@ -3025,7 +3034,7 @@ msgstr "可購買" msgid "Parts are purchaseable by default" msgstr "默認情況下可購買零件" -#: common/setting/system.py:494 part/models.py:1295 stock/api.py:694 +#: common/setting/system.py:494 part/models.py:1305 stock/api.py:702 msgid "Salable" msgstr "可銷售" @@ -3037,7 +3046,7 @@ msgstr "零件默認為可銷售" msgid "Parts are trackable by default" msgstr "默認情況下可跟蹤零件" -#: common/setting/system.py:506 part/models.py:1311 +#: common/setting/system.py:506 part/models.py:1321 msgid "Virtual" msgstr "虛擬的" @@ -4338,7 +4347,7 @@ msgid "Manufacturer" msgstr "製造商" #: company/api.py:291 company/models.py:124 company/models.py:408 -#: stock/api.py:946 +#: stock/api.py:954 msgid "Company" msgstr "公司" @@ -4524,7 +4533,7 @@ msgid "Link to address information (external)" msgstr "鏈接地址信息 (外部)" #: company/models.py:512 company/models.py:803 company/serializers.py:527 -#: stock/api.py:612 +#: stock/api.py:620 msgid "Manufacturer Part" msgstr "製造商零件" @@ -4574,7 +4583,7 @@ msgstr "鏈接的製造商零件必須引用相同的基礎零件" #: order/models.py:733 part/serializers.py:452 #: plugin/builtin/suppliers/digikey.py:26 plugin/builtin/suppliers/lcsc.py:27 #: plugin/builtin/suppliers/mouser.py:25 plugin/builtin/suppliers/tme.py:27 -#: stock/api.py:618 templates/email/overdue_purchase_order.html:16 +#: stock/api.py:626 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "供應商" @@ -4610,11 +4619,11 @@ msgstr "外部供應商零件鏈接的URL" msgid "Supplier part description" msgstr "供應商零件説明" -#: company/models.py:836 part/models.py:2229 +#: company/models.py:836 part/models.py:2239 msgid "base cost" msgstr "基本費用" -#: company/models.py:837 part/models.py:2230 +#: company/models.py:837 part/models.py:2240 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低費用(例如庫存費)" @@ -4635,7 +4644,7 @@ msgstr "包裝數量" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "單包供應的總數量。為單個項目留空。" -#: company/models.py:871 part/models.py:2236 +#: company/models.py:871 part/models.py:2246 msgid "multiple" msgstr "多個" @@ -4731,152 +4740,152 @@ msgstr "放置" msgid "Invalid status code" msgstr "無效的狀態代碼" -#: importer/models.py:75 +#: importer/models.py:76 msgid "Data File" msgstr "數據文件" -#: importer/models.py:76 +#: importer/models.py:77 msgid "Data file to import" msgstr "要導入的數據文件" -#: importer/models.py:85 +#: importer/models.py:87 msgid "Columns" msgstr "列" -#: importer/models.py:92 +#: importer/models.py:95 msgid "Target model type for this import session" msgstr "此匯入作業的目標模型類型" -#: importer/models.py:98 +#: importer/models.py:101 msgid "Import status" msgstr "導入狀態" -#: importer/models.py:108 +#: importer/models.py:111 msgid "Field Defaults" msgstr "字段默認值" -#: importer/models.py:115 +#: importer/models.py:119 msgid "Field Overrides" msgstr "字段覆蓋" -#: importer/models.py:122 +#: importer/models.py:127 msgid "Field Filters" msgstr "字段篩選器" -#: importer/models.py:128 +#: importer/models.py:134 msgid "Update Existing Records" msgstr "更新既有紀錄" -#: importer/models.py:129 +#: importer/models.py:135 msgid "If enabled, existing records will be updated with new data" msgstr "啟用時,既有紀錄將以新資料更新" -#: importer/models.py:319 +#: importer/models.py:325 msgid "Some required fields have not been mapped" msgstr "某些必填字段尚未映射" -#: importer/models.py:421 +#: importer/models.py:427 msgid "Completed Row Count History" msgstr "" -#: importer/models.py:424 +#: importer/models.py:430 msgid "Row Count History" msgstr "" -#: importer/models.py:447 +#: importer/models.py:453 msgid "ID" msgstr "ID" -#: importer/models.py:448 +#: importer/models.py:454 msgid "Existing database identifier for the record" msgstr "資料庫中既有紀錄的識別碼" -#: importer/models.py:526 +#: importer/models.py:532 msgid "Column is already mapped to a database field" msgstr "列已映射到數據庫字段" -#: importer/models.py:531 +#: importer/models.py:537 msgid "Field is already mapped to a data column" msgstr "字段已映射到數據列" -#: importer/models.py:540 +#: importer/models.py:546 msgid "Column mapping must be linked to a valid import session" msgstr "列映射必須鏈接到有效的導入會話" -#: importer/models.py:545 +#: importer/models.py:551 msgid "Column does not exist in the data file" msgstr "數據文件中不存在列" -#: importer/models.py:552 +#: importer/models.py:558 msgid "Field does not exist in the target model" msgstr "目標模型中不存在字段" -#: importer/models.py:556 +#: importer/models.py:562 msgid "Selected field is read-only" msgstr "所選字段為只讀" -#: importer/models.py:562 +#: importer/models.py:568 msgid "Lookup field can only be set for related (foreign-key) fields" msgstr "" -#: importer/models.py:570 +#: importer/models.py:576 #, python-brace-format msgid "Invalid lookup field. Valid options are: {options}" msgstr "" -#: importer/models.py:577 importer/models.py:664 +#: importer/models.py:583 importer/models.py:670 msgid "Import Session" msgstr "導入會話" -#: importer/models.py:581 +#: importer/models.py:587 msgid "Field" msgstr "字段" -#: importer/models.py:583 +#: importer/models.py:589 msgid "Column" msgstr "列" -#: importer/models.py:589 +#: importer/models.py:595 msgid "Lookup Field" msgstr "" -#: importer/models.py:591 +#: importer/models.py:597 msgid "Database field to use for foreign-key lookup. Leave blank for automatic lookup." msgstr "" -#: importer/models.py:668 +#: importer/models.py:674 msgid "Row Index" msgstr "行索引" -#: importer/models.py:671 +#: importer/models.py:679 msgid "Original row data" msgstr "原始行數據" -#: importer/models.py:676 machine/models.py:114 +#: importer/models.py:688 machine/models.py:114 msgid "Errors" msgstr "錯誤" -#: importer/models.py:678 part/serializers.py:1161 +#: importer/models.py:691 part/serializers.py:1161 msgid "Valid" msgstr "有效" -#: importer/models.py:915 +#: importer/models.py:932 msgid "Multiple matches found for value - please ensure the value is unique, or select a specific lookup field" msgstr "" -#: importer/models.py:968 +#: importer/models.py:985 msgid "No record found with the provided ID" msgstr "找不到提供 ID 的記錄" -#: importer/models.py:973 +#: importer/models.py:990 msgid "Invalid ID format provided" msgstr "提供的 ID 格式無效" -#: importer/models.py:1039 +#: importer/models.py:1056 msgid "ID is required for updating existing records." msgstr "更新既有紀錄需要提供 ID。" -#: importer/operations.py:31 importer/operations.py:52 +#: importer/operations.py:31 importer/operations.py:60 msgid "Unsupported data file format" msgstr "不支持的數據文件格式" @@ -4884,7 +4893,11 @@ msgstr "不支持的數據文件格式" msgid "Failed to open data file" msgstr "打開數據文件失敗" -#: importer/operations.py:54 +#: importer/operations.py:55 +msgid "Could not decode data file as text" +msgstr "" + +#: importer/operations.py:62 msgid "Invalid data file dimensions" msgstr "數據文件維度無效" @@ -5692,7 +5705,7 @@ msgstr "序列化庫存項目的數量必須為1" msgid "Sales order does not match shipment" msgstr "銷售訂單與發貨不匹配" -#: order/models.py:3215 plugin/base/barcodes/api.py:713 +#: order/models.py:3215 plugin/base/barcodes/api.py:721 msgid "Shipment does not match sales order" msgstr "發貨與銷售訂單不匹配" @@ -5908,7 +5921,7 @@ msgstr "將具有相同零件、目的地和目標日期的項目合併到一個 msgid "SKU" msgstr "庫存量單位" -#: order/serializers.py:771 part/models.py:1159 part/serializers.py:382 +#: order/serializers.py:771 part/models.py:1169 part/serializers.py:382 msgid "Internal Part Number" msgstr "內部零件編號" @@ -6176,7 +6189,7 @@ msgstr "已加星標" msgid "Filter by starred categories" msgstr "按星標類別篩選" -#: part/api.py:109 stock/api.py:319 +#: part/api.py:109 stock/api.py:327 msgid "Depth" msgstr "深度" @@ -6184,7 +6197,7 @@ msgstr "深度" msgid "Filter by category depth" msgstr "按類別深度篩選" -#: part/api.py:127 stock/api.py:337 +#: part/api.py:127 stock/api.py:345 msgid "Top Level" msgstr "頂級" @@ -6192,7 +6205,7 @@ msgstr "頂級" msgid "Filter by top-level categories" msgstr "按頂級類別篩選" -#: part/api.py:142 stock/api.py:352 +#: part/api.py:142 stock/api.py:360 msgid "Cascade" msgstr "級聯" @@ -6212,11 +6225,11 @@ msgstr "按父類別篩選" msgid "Exclude sub-categories under the specified category" msgstr "排除指定類別下的子類別" -#: part/api.py:298 stock/api.py:499 +#: part/api.py:298 stock/api.py:507 msgid "Max Level" msgstr "" -#: part/api.py:300 stock/api.py:501 +#: part/api.py:300 stock/api.py:509 msgid "Limit the depth of the category tree" msgstr "" @@ -6296,722 +6309,722 @@ msgstr "有可用庫存" msgid "Uses" msgstr "使用" -#: part/models.py:93 part/models.py:414 +#: part/models.py:94 part/models.py:415 #: templates/email/part_event_notification.html:16 msgid "Part Category" msgstr "零件類別" -#: part/models.py:94 users/ruleset.py:29 +#: part/models.py:95 users/ruleset.py:29 msgid "Part Categories" msgstr "零件類別" -#: part/models.py:112 part/models.py:1195 +#: part/models.py:113 part/models.py:1205 msgid "Default Location" msgstr "默認位置" -#: part/models.py:113 +#: part/models.py:114 msgid "Default location for parts in this category" msgstr "此類別零件的默認庫存地點" -#: part/models.py:118 stock/models.py:206 +#: part/models.py:119 stock/models.py:206 msgid "Structural" msgstr "結構性" -#: part/models.py:120 +#: part/models.py:121 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "零件可能無法直接分配到結構類別,但可以分配到子類別。" -#: part/models.py:129 +#: part/models.py:130 msgid "Default keywords" msgstr "默認關鍵字" -#: part/models.py:130 +#: part/models.py:131 msgid "Default keywords for parts in this category" msgstr "此類別零件的默認關鍵字" -#: part/models.py:137 stock/models.py:102 stock/models.py:188 +#: part/models.py:138 stock/models.py:102 stock/models.py:188 msgid "Icon" msgstr "圖標" -#: part/models.py:138 part/serializers.py:175 part/serializers.py:207 +#: part/models.py:139 part/serializers.py:175 part/serializers.py:207 #: stock/models.py:189 msgid "Icon (optional)" msgstr "圖標(可選)" -#: part/models.py:182 +#: part/models.py:183 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "您不能使這個零件類別結構化,因為有些零件已經分配給了它!" -#: part/models.py:370 +#: part/models.py:371 msgid "Part Category Parameter Template" msgstr "零件類別參數模板" -#: part/models.py:426 +#: part/models.py:427 msgid "Default Value" msgstr "默認值" -#: part/models.py:427 +#: part/models.py:428 msgid "Default Parameter Value" msgstr "默認參數值" -#: part/models.py:530 part/serializers.py:135 users/ruleset.py:30 +#: part/models.py:531 part/serializers.py:135 users/ruleset.py:30 msgid "Parts" msgstr "零件" -#: part/models.py:576 +#: part/models.py:577 msgid "Cannot delete parameters of a locked part" msgstr "無法刪除已鎖定零件的參數" -#: part/models.py:581 +#: part/models.py:582 msgid "Cannot modify parameters of a locked part" msgstr "無法修改已鎖定零件的參數" -#: part/models.py:592 +#: part/models.py:593 msgid "Cannot delete this part as it is locked" msgstr "無法刪除這個零件,因為它已被鎖定" -#: part/models.py:595 +#: part/models.py:596 msgid "Cannot delete this part as it is still active" msgstr "無法刪除這個零件,因為它仍然處於活動狀態" -#: part/models.py:600 +#: part/models.py:601 msgid "Cannot delete this part as it is used in an assembly" msgstr "無法刪除這個零件,因為它被使用在了裝配中" -#: part/models.py:684 part/models.py:691 +#: part/models.py:685 part/models.py:692 #, python-brace-format msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" msgstr "零件 \"{self}\" 不能用在 \"{parent}\" 的物料清單 (遞歸)" -#: part/models.py:703 +#: part/models.py:704 #, python-brace-format msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" msgstr "零件 \"{parent}\" 被使用在了 \"{self}\" 的物料清單 (遞歸)" -#: part/models.py:774 +#: part/models.py:775 #, python-brace-format msgid "IPN must match regex pattern {pattern}" msgstr "內部零件號必須匹配正則表達式 {pattern}" -#: part/models.py:782 +#: part/models.py:783 msgid "Part cannot be a revision of itself" msgstr "零件不能是對自身的修訂" -#: part/models.py:789 +#: part/models.py:790 msgid "Revision code must be specified for a part marked as a revision" msgstr "標記為修訂版的零件必須指定修訂版代碼" -#: part/models.py:797 +#: part/models.py:798 msgid "Revisions are only allowed for assembly parts" msgstr "修訂僅對裝配零件允許" -#: part/models.py:804 +#: part/models.py:805 msgid "Cannot make a revision of a template part" msgstr "無法對模版零件進行修訂" -#: part/models.py:810 +#: part/models.py:811 msgid "Parent part must point to the same template" msgstr "上級零件必須指向相同的模版" -#: part/models.py:908 +#: part/models.py:909 msgid "Stock item with this serial number already exists" msgstr "該序列號庫存項己存在" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Duplicate IPN not allowed in part settings" msgstr "在零件設置中不允許重複的內部零件號" -#: part/models.py:1052 +#: part/models.py:1053 msgid "Duplicate part revision already exists." msgstr "重複的零件修訂版本已經存在。" -#: part/models.py:1062 +#: part/models.py:1072 msgid "Part with this Name, IPN and Revision already exists." msgstr "有這個名字,內部零件號,和修訂版本的零件已經存在" -#: part/models.py:1077 +#: part/models.py:1087 msgid "Parts cannot be assigned to structural part categories!" msgstr "零件不能分配到結構性零件類別!" -#: part/models.py:1109 +#: part/models.py:1119 msgid "Part name" msgstr "零件名稱" -#: part/models.py:1114 +#: part/models.py:1124 msgid "Is Template" msgstr "是模板" -#: part/models.py:1115 +#: part/models.py:1125 msgid "Is this part a template part?" msgstr "這個零件是一個模版零件嗎?" -#: part/models.py:1125 +#: part/models.py:1135 msgid "Is this part a variant of another part?" msgstr "這個零件是另一零件的變體嗎?" -#: part/models.py:1126 +#: part/models.py:1136 msgid "Variant Of" msgstr "變體" -#: part/models.py:1133 +#: part/models.py:1143 msgid "Part description (optional)" msgstr "零件描述(可選)" -#: part/models.py:1140 +#: part/models.py:1150 msgid "Keywords" msgstr "關鍵詞" -#: part/models.py:1141 +#: part/models.py:1151 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索結果可見性的零件關鍵字" -#: part/models.py:1151 +#: part/models.py:1161 msgid "Part category" msgstr "零件類別" -#: part/models.py:1158 part/serializers.py:814 +#: part/models.py:1168 part/serializers.py:814 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "內部零件號 IPN" -#: part/models.py:1166 +#: part/models.py:1176 msgid "Part revision or version number" msgstr "零件修訂版本或版本號" -#: part/models.py:1167 report/models.py:234 +#: part/models.py:1177 report/models.py:234 msgid "Revision" msgstr "版本" -#: part/models.py:1176 +#: part/models.py:1186 msgid "Is this part a revision of another part?" msgstr "這零件是另一零件的修訂版本嗎?" -#: part/models.py:1177 +#: part/models.py:1187 msgid "Revision Of" msgstr "修訂版本" -#: part/models.py:1193 +#: part/models.py:1203 msgid "Where is this item normally stored?" msgstr "該物品通常存放在哪裏?" -#: part/models.py:1231 +#: part/models.py:1241 msgid "Default Expiry" msgstr "默認到期" -#: part/models.py:1232 +#: part/models.py:1242 msgid "Expiry time (in days) for stock items of this part" msgstr "此零件庫存項的過期時間 (天)" -#: part/models.py:1240 part/serializers.py:884 +#: part/models.py:1250 part/serializers.py:884 msgid "Minimum Stock" msgstr "最低庫存" -#: part/models.py:1241 +#: part/models.py:1251 msgid "Minimum allowed stock level" msgstr "允許的最小庫存量" -#: part/models.py:1249 part/serializers.py:888 +#: part/models.py:1259 part/serializers.py:888 msgid "Maximum Stock" msgstr "" -#: part/models.py:1250 +#: part/models.py:1260 msgid "Maximum allowed stock level" msgstr "" -#: part/models.py:1259 +#: part/models.py:1269 msgid "Units of measure for this part" msgstr "此零件的計量單位" -#: part/models.py:1266 +#: part/models.py:1276 msgid "Can this part be built from other parts?" msgstr "這個零件可由其他零件加工而成嗎?" -#: part/models.py:1272 +#: part/models.py:1282 msgid "Can this part be used to build other parts?" msgstr "這個零件可用於創建其他零件嗎?" -#: part/models.py:1278 +#: part/models.py:1288 msgid "Does this part have tracking for unique items?" msgstr "此零件是否有唯一物品的追蹤功能" -#: part/models.py:1284 +#: part/models.py:1294 msgid "Can this part have test results recorded against it?" msgstr "這一部分能否記錄到測試結果?" -#: part/models.py:1290 +#: part/models.py:1300 msgid "Can this part be purchased from external suppliers?" msgstr "這個零件可從外部供應商購買嗎?" -#: part/models.py:1296 +#: part/models.py:1306 msgid "Can this part be sold to customers?" msgstr "此零件可以銷售給客户嗎?" -#: part/models.py:1300 +#: part/models.py:1310 msgid "Is this part active?" msgstr "這個零件是否已激活?" -#: part/models.py:1306 +#: part/models.py:1316 msgid "Locked parts cannot be edited" msgstr "無法編輯鎖定的零件" -#: part/models.py:1312 +#: part/models.py:1322 msgid "Is this a virtual part, such as a software product or license?" msgstr "這是一個虛擬零件,例如一個軟件產品或許可證嗎?" -#: part/models.py:1318 +#: part/models.py:1328 msgid "Is this part consumable, such as glue or a fastener?" msgstr "" -#: part/models.py:1323 +#: part/models.py:1333 msgid "BOM Validated" msgstr "BOM 已驗證" -#: part/models.py:1324 +#: part/models.py:1334 msgid "Is the BOM for this part valid?" msgstr "此零件的 BOM 是否已通過驗證?" -#: part/models.py:1330 +#: part/models.py:1340 msgid "BOM checksum" msgstr "物料清單校驗和" -#: part/models.py:1331 +#: part/models.py:1341 msgid "Stored BOM checksum" msgstr "保存的物料清單校驗和" -#: part/models.py:1339 +#: part/models.py:1349 msgid "BOM checked by" msgstr "物料清單檢查人" -#: part/models.py:1344 +#: part/models.py:1354 msgid "BOM checked date" msgstr "物料清單檢查日期" -#: part/models.py:1360 +#: part/models.py:1370 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1370 +#: part/models.py:1380 msgid "Owner responsible for this part" msgstr "此零件的負責人" -#: part/models.py:2237 +#: part/models.py:2247 msgid "Sell multiple" msgstr "出售多個" -#: part/models.py:3185 +#: part/models.py:3216 msgid "Currency used to cache pricing calculations" msgstr "用於緩存定價計算的貨幣" -#: part/models.py:3201 +#: part/models.py:3232 msgid "Minimum BOM Cost" msgstr "最低物料清單成本" -#: part/models.py:3202 +#: part/models.py:3233 msgid "Minimum cost of component parts" msgstr "元件的最低成本" -#: part/models.py:3208 +#: part/models.py:3239 msgid "Maximum BOM Cost" msgstr "物料清單的最高成本" -#: part/models.py:3209 +#: part/models.py:3240 msgid "Maximum cost of component parts" msgstr "元件的最高成本" -#: part/models.py:3215 +#: part/models.py:3246 msgid "Minimum Purchase Cost" msgstr "最低購買成本" -#: part/models.py:3216 +#: part/models.py:3247 msgid "Minimum historical purchase cost" msgstr "最高歷史購買成本" -#: part/models.py:3222 +#: part/models.py:3253 msgid "Maximum Purchase Cost" msgstr "最大購買成本" -#: part/models.py:3223 +#: part/models.py:3254 msgid "Maximum historical purchase cost" msgstr "最高歷史購買成本" -#: part/models.py:3229 +#: part/models.py:3260 msgid "Minimum Internal Price" msgstr "最低內部價格" -#: part/models.py:3230 +#: part/models.py:3261 msgid "Minimum cost based on internal price breaks" msgstr "基於內部批發價的最低成本" -#: part/models.py:3236 +#: part/models.py:3267 msgid "Maximum Internal Price" msgstr "最大內部價格" -#: part/models.py:3237 +#: part/models.py:3268 msgid "Maximum cost based on internal price breaks" msgstr "基於內部批發價的最高成本" -#: part/models.py:3243 +#: part/models.py:3274 msgid "Minimum Supplier Price" msgstr "供應商最低價格" -#: part/models.py:3244 +#: part/models.py:3275 msgid "Minimum price of part from external suppliers" msgstr "外部供應商零件的最低價格" -#: part/models.py:3250 +#: part/models.py:3281 msgid "Maximum Supplier Price" msgstr "供應商最高價格" -#: part/models.py:3251 +#: part/models.py:3282 msgid "Maximum price of part from external suppliers" msgstr "來自外部供應商的商零件的最高價格" -#: part/models.py:3257 +#: part/models.py:3288 msgid "Minimum Variant Cost" msgstr "最小變體成本" -#: part/models.py:3258 +#: part/models.py:3289 msgid "Calculated minimum cost of variant parts" msgstr "計算出的變體零件的最低成本" -#: part/models.py:3264 +#: part/models.py:3295 msgid "Maximum Variant Cost" msgstr "最大變體成本" -#: part/models.py:3265 +#: part/models.py:3296 msgid "Calculated maximum cost of variant parts" msgstr "計算出的變體零件的最大成本" -#: part/models.py:3271 part/models.py:3285 +#: part/models.py:3302 part/models.py:3316 msgid "Minimum Cost" msgstr "最低成本" -#: part/models.py:3272 +#: part/models.py:3303 msgid "Override minimum cost" msgstr "覆蓋最低成本" -#: part/models.py:3278 part/models.py:3292 +#: part/models.py:3309 part/models.py:3323 msgid "Maximum Cost" msgstr "最高成本" -#: part/models.py:3279 +#: part/models.py:3310 msgid "Override maximum cost" msgstr "覆蓋最大成本" -#: part/models.py:3286 +#: part/models.py:3317 msgid "Calculated overall minimum cost" msgstr "計算總最低成本" -#: part/models.py:3293 +#: part/models.py:3324 msgid "Calculated overall maximum cost" msgstr "計算總最大成本" -#: part/models.py:3299 +#: part/models.py:3330 msgid "Minimum Sale Price" msgstr "最低售出價格" -#: part/models.py:3300 +#: part/models.py:3331 msgid "Minimum sale price based on price breaks" msgstr "基於批發價的最低售出價格" -#: part/models.py:3306 +#: part/models.py:3337 msgid "Maximum Sale Price" msgstr "最高售出價格" -#: part/models.py:3307 +#: part/models.py:3338 msgid "Maximum sale price based on price breaks" msgstr "基於批發價的最大售出價格" -#: part/models.py:3313 +#: part/models.py:3344 msgid "Minimum Sale Cost" msgstr "最低銷售成本" -#: part/models.py:3314 +#: part/models.py:3345 msgid "Minimum historical sale price" msgstr "歷史最低售出價格" -#: part/models.py:3320 +#: part/models.py:3351 msgid "Maximum Sale Cost" msgstr "最高銷售成本" -#: part/models.py:3321 +#: part/models.py:3352 msgid "Maximum historical sale price" msgstr "歷史最高售出價格" -#: part/models.py:3339 +#: part/models.py:3370 msgid "Part for stocktake" msgstr "用於盤點的零件" -#: part/models.py:3344 +#: part/models.py:3375 msgid "Item Count" msgstr "物品數量" -#: part/models.py:3345 +#: part/models.py:3376 msgid "Number of individual stock entries at time of stocktake" msgstr "盤點時的個別庫存條目數" -#: part/models.py:3353 +#: part/models.py:3384 msgid "Total available stock at time of stocktake" msgstr "盤點時可用庫存總額" -#: part/models.py:3357 report/templates/report/inventree_test_report.html:106 -#: stock/models.py:3910 +#: part/models.py:3388 report/templates/report/inventree_test_report.html:106 +#: stock/models.py:3933 msgid "Date" msgstr "日期" -#: part/models.py:3358 +#: part/models.py:3389 msgid "Date stocktake was performed" msgstr "進行盤點的日期" -#: part/models.py:3365 +#: part/models.py:3396 msgid "Minimum Stock Cost" msgstr "最低庫存成本" -#: part/models.py:3366 +#: part/models.py:3397 msgid "Estimated minimum cost of stock on hand" msgstr "現有存庫存最低成本估算" -#: part/models.py:3372 +#: part/models.py:3403 msgid "Maximum Stock Cost" msgstr "最高庫存成本" -#: part/models.py:3373 +#: part/models.py:3404 msgid "Estimated maximum cost of stock on hand" msgstr "目前庫存最高成本估算" -#: part/models.py:3383 +#: part/models.py:3414 msgid "Part Sale Price Break" msgstr "零件售出價格折扣" -#: part/models.py:3407 +#: part/models.py:3438 msgid "Part Internal Price Break" msgstr "" -#: part/models.py:3498 +#: part/models.py:3529 msgid "Part Test Template" msgstr "零件測試模板" -#: part/models.py:3524 +#: part/models.py:3555 msgid "Invalid template name - must include at least one alphanumeric character" msgstr "模板名稱無效 - 必須包含至少一個字母或者數字" -#: part/models.py:3556 +#: part/models.py:3587 msgid "Test templates can only be created for testable parts" msgstr "測試模板只能為可拆分的部件創建" -#: part/models.py:3570 +#: part/models.py:3601 msgid "Test template with the same key already exists for part" msgstr "零件已存在具有相同主鍵的測試模板" -#: part/models.py:3587 +#: part/models.py:3618 msgid "Test Name" msgstr "測試名" -#: part/models.py:3588 +#: part/models.py:3619 msgid "Enter a name for the test" msgstr "輸入測試的名稱" -#: part/models.py:3594 +#: part/models.py:3625 msgid "Test Key" msgstr "測試主鍵" -#: part/models.py:3595 +#: part/models.py:3626 msgid "Simplified key for the test" msgstr "簡化測試主鍵" -#: part/models.py:3602 +#: part/models.py:3633 msgid "Test Description" msgstr "測試説明" -#: part/models.py:3603 +#: part/models.py:3634 msgid "Enter description for this test" msgstr "輸入測試的描述" -#: part/models.py:3607 +#: part/models.py:3638 msgid "Is this test enabled?" msgstr "此測試是否已啓用?" -#: part/models.py:3612 +#: part/models.py:3643 msgid "Required" msgstr "必須的" -#: part/models.py:3613 +#: part/models.py:3644 msgid "Is this test required to pass?" msgstr "需要此測試才能通過嗎?" -#: part/models.py:3618 +#: part/models.py:3649 msgid "Requires Value" msgstr "需要值" -#: part/models.py:3619 +#: part/models.py:3650 msgid "Does this test require a value when adding a test result?" msgstr "添加測試結果時是否需要一個值?" -#: part/models.py:3624 +#: part/models.py:3655 msgid "Requires Attachment" msgstr "需要附件" -#: part/models.py:3626 +#: part/models.py:3657 msgid "Does this test require a file attachment when adding a test result?" msgstr "添加測試結果時是否需要文件附件?" -#: part/models.py:3633 +#: part/models.py:3664 msgid "Valid choices for this test (comma-separated)" msgstr "此測試的有效選擇 (逗號分隔)" -#: part/models.py:3782 +#: part/models.py:3813 msgid "Invalid quantity - no units specified for part" msgstr "" -#: part/models.py:3791 +#: part/models.py:3822 msgid "Quantity must be greater than or equal to zero" msgstr "數量必須大於或等於零" -#: part/models.py:3892 +#: part/models.py:3923 msgid "BOM item cannot be modified - assembly is locked" msgstr "物料清單項目不能被修改 - 裝配已鎖定" -#: part/models.py:3899 +#: part/models.py:3930 msgid "BOM item cannot be modified - variant assembly is locked" msgstr "物料清單項目不能修改 - 變體裝配已鎖定" -#: part/models.py:3909 +#: part/models.py:3940 msgid "Select parent part" msgstr "選擇父零件" -#: part/models.py:3919 +#: part/models.py:3950 msgid "Sub part" msgstr "子零件" -#: part/models.py:3920 +#: part/models.py:3951 msgid "Select part to be used in BOM" msgstr "選擇要用於物料清單的零件" -#: part/models.py:3926 part/serializers.py:1703 +#: part/models.py:3957 part/serializers.py:1703 msgid "Amount" msgstr "" -#: part/models.py:3927 +#: part/models.py:3958 msgid "Amount of sub-part consumed to produce one part" msgstr "" -#: part/models.py:3939 +#: part/models.py:3970 msgid "BOM quantity for this BOM item" msgstr "此物料清單項目的數量" -#: part/models.py:3945 +#: part/models.py:3976 msgid "This BOM item is optional" msgstr "此物料清單項目是可選的" -#: part/models.py:3951 +#: part/models.py:3982 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "這個物料清單項目是耗材 (它沒有在生產訂單中被追蹤)" -#: part/models.py:3959 +#: part/models.py:3990 msgid "Setup Quantity" msgstr "建置額外數量" -#: part/models.py:3960 +#: part/models.py:3991 msgid "Extra required quantity for a build, to account for setup losses" msgstr "為彌補建置 / 開工損耗所需的額外數量" -#: part/models.py:3968 +#: part/models.py:3999 msgid "Attrition" msgstr "損耗率" -#: part/models.py:3970 +#: part/models.py:4001 msgid "Estimated attrition for a build, expressed as a percentage (0-100)" msgstr "製造預估損耗(百分比 0–100)" -#: part/models.py:3981 +#: part/models.py:4012 msgid "Rounding Multiple" msgstr "進位倍數" -#: part/models.py:3983 +#: part/models.py:4014 msgid "Round up required production quantity to nearest multiple of this value" msgstr "將所需生產數量向上取整到此數值的整數倍" -#: part/models.py:3991 +#: part/models.py:4022 msgid "BOM item reference" msgstr "物料清單項目引用" -#: part/models.py:3999 +#: part/models.py:4030 msgid "BOM item notes" msgstr "物料清單項目註釋" -#: part/models.py:4005 +#: part/models.py:4036 msgid "Checksum" msgstr "校驗和" -#: part/models.py:4006 +#: part/models.py:4037 msgid "BOM line checksum" msgstr "物料清單行校驗和" -#: part/models.py:4011 +#: part/models.py:4042 msgid "Validated" msgstr "已驗證" -#: part/models.py:4012 +#: part/models.py:4043 msgid "This BOM item has been validated" msgstr "此物料清單項目已驗證" -#: part/models.py:4017 +#: part/models.py:4048 msgid "Gets inherited" msgstr "獲取繼承的" -#: part/models.py:4018 +#: part/models.py:4049 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "此物料清單項目是由物料清單繼承的變體零件" -#: part/models.py:4024 +#: part/models.py:4055 msgid "Stock items for variant parts can be used for this BOM item" msgstr "變體零件的庫存項可以用於此物料清單項目" -#: part/models.py:4160 stock/models.py:1064 +#: part/models.py:4191 stock/models.py:1064 msgid "Quantity must be integer value for trackable parts" msgstr "可追蹤零件的數量必須是整數" -#: part/models.py:4170 part/models.py:4172 +#: part/models.py:4201 part/models.py:4203 msgid "Sub part must be specified" msgstr "必須指定子零件" -#: part/models.py:4300 +#: part/models.py:4336 msgid "BOM Item Substitute" msgstr "物料清單項目替代品" -#: part/models.py:4321 +#: part/models.py:4357 msgid "Substitute part cannot be the same as the master part" msgstr "替代品零件不能與主零件相同" -#: part/models.py:4334 +#: part/models.py:4370 msgid "Parent BOM item" msgstr "上級物料清單項目" -#: part/models.py:4342 +#: part/models.py:4378 msgid "Substitute part" msgstr "替代品零件" -#: part/models.py:4358 +#: part/models.py:4394 msgid "Part 1" msgstr "零件 1" -#: part/models.py:4366 +#: part/models.py:4402 msgid "Part 2" msgstr "零件2" -#: part/models.py:4367 +#: part/models.py:4403 msgid "Select Related Part" msgstr "選擇相關的零件" -#: part/models.py:4374 +#: part/models.py:4410 msgid "Note for this relationship" msgstr "此關係的備註" -#: part/models.py:4393 +#: part/models.py:4429 msgid "Part relationship cannot be created between a part and itself" msgstr "零件關係不能在零件和自身之間創建" -#: part/models.py:4398 +#: part/models.py:4434 msgid "Duplicate relationship already exists" msgstr "複製關係已經存在" @@ -7375,41 +7388,41 @@ msgstr "複製替代品零件" msgid "Copy substitute parts when duplicate BOM items" msgstr "複製物料清單項目時複製替代品零件" -#: part/tasks.py:42 +#: part/tasks.py:43 msgid "Low stock notification" msgstr "低庫存通知" -#: part/tasks.py:44 +#: part/tasks.py:45 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "可用的 {part.name}庫存已經跌到設置的最低值" -#: part/tasks.py:74 +#: part/tasks.py:75 msgid "Stale stock notification" msgstr "庫存即將過期通知" -#: part/tasks.py:78 +#: part/tasks.py:79 msgid "You have 1 stock item approaching its expiry date" msgstr "有 1 個庫存項目即將到期" -#: part/tasks.py:80 +#: part/tasks.py:81 #, python-brace-format msgid "You have {item_count} stock items approaching their expiry dates" msgstr "有 {item_count} 個庫存項目即將到期" -#: part/tasks.py:89 +#: part/tasks.py:90 msgid "No expiry date" msgstr "未設定到期日" -#: part/tasks.py:96 +#: part/tasks.py:97 msgid "Expired {abs(days_diff)} days ago" msgstr "已於 {abs(days_diff)} 天前到期" -#: part/tasks.py:99 +#: part/tasks.py:100 msgid "Expires today" msgstr "今日到期" -#: part/tasks.py:102 +#: part/tasks.py:103 #, python-brace-format msgid "{days_until_expiry} days" msgstr "尚餘 {days_until_expiry} 天" @@ -7462,71 +7475,79 @@ msgstr "找不到模型實例" msgid "Barcode matches existing item" msgstr "條形碼匹配現有項目" -#: plugin/base/barcodes/api.py:421 +#: plugin/base/barcodes/api.py:419 msgid "No matching part data found" msgstr "沒有找到匹配的零件數據" -#: plugin/base/barcodes/api.py:437 +#: plugin/base/barcodes/api.py:435 msgid "No matching supplier parts found" msgstr "沒有找到匹配的供應商零件" -#: plugin/base/barcodes/api.py:440 +#: plugin/base/barcodes/api.py:438 msgid "Multiple matching supplier parts found" msgstr "找到多個匹配的供應商零件" -#: plugin/base/barcodes/api.py:453 plugin/base/barcodes/api.py:748 +#: plugin/base/barcodes/api.py:448 plugin/base/barcodes/api.py:508 +msgid "You do not have the required permissions for purchase orders" +msgstr "" + +#: plugin/base/barcodes/api.py:458 plugin/base/barcodes/api.py:761 msgid "No matching plugin found for barcode data" msgstr "沒有找到匹配條碼數據的插件" -#: plugin/base/barcodes/api.py:463 +#: plugin/base/barcodes/api.py:468 msgid "Matched supplier part" msgstr "匹配的供應商零件" -#: plugin/base/barcodes/api.py:533 +#: plugin/base/barcodes/api.py:543 msgid "Item has already been received" msgstr "項目已被接收" -#: plugin/base/barcodes/api.py:601 +#: plugin/base/barcodes/api.py:611 msgid "Purchase order Found\\rNo supplier Part Match" msgstr "" -#: plugin/base/barcodes/api.py:607 +#: plugin/base/barcodes/api.py:617 msgid "Supplier Part Found\\rNo Purchase Order Match" msgstr "" -#: plugin/base/barcodes/api.py:643 +#: plugin/base/barcodes/api.py:653 msgid "No plugin match for supplier barcode" msgstr "供應商條碼未匹配任何模組" -#: plugin/base/barcodes/api.py:696 +#: plugin/base/barcodes/api.py:704 msgid "Multiple matching line items found" msgstr "找到多個匹配的行項目" -#: plugin/base/barcodes/api.py:699 plugin/base/barcodes/mixins.py:393 +#: plugin/base/barcodes/api.py:707 plugin/base/barcodes/mixins.py:393 msgid "No matching line item found" msgstr "未找到匹配的行項目" -#: plugin/base/barcodes/api.py:745 +#: plugin/base/barcodes/api.py:749 +msgid "You do not have the required permissions for sales orders" +msgstr "" + +#: plugin/base/barcodes/api.py:758 msgid "No sales order provided" msgstr "未提供銷售訂單" -#: plugin/base/barcodes/api.py:754 +#: plugin/base/barcodes/api.py:767 msgid "Barcode does not match an existing stock item" msgstr "條形碼與現有的庫存項不匹配" -#: plugin/base/barcodes/api.py:770 +#: plugin/base/barcodes/api.py:783 msgid "Stock item does not match line item" msgstr "庫存項與行項目不匹配" -#: plugin/base/barcodes/api.py:800 +#: plugin/base/barcodes/api.py:813 msgid "Insufficient stock available" msgstr "可用庫存不足" -#: plugin/base/barcodes/api.py:813 +#: plugin/base/barcodes/api.py:826 msgid "Stock item allocated to sales order" msgstr "庫存項已分配到銷售訂單" -#: plugin/base/barcodes/api.py:816 +#: plugin/base/barcodes/api.py:829 msgid "Not enough information" msgstr "沒有足夠的信息" @@ -8589,19 +8610,19 @@ msgstr "無效的標籤尺寸" msgid "No valid items provided to template" msgstr "沒有有效的項目提供到模板" -#: report/helpers.py:43 +#: report/helpers.py:44 msgid "A4" msgstr "A4" -#: report/helpers.py:44 +#: report/helpers.py:45 msgid "A3" msgstr "A3" -#: report/helpers.py:45 +#: report/helpers.py:46 msgid "Legal" msgstr "法律" -#: report/helpers.py:46 +#: report/helpers.py:47 msgid "Letter" msgstr "字母" @@ -8890,196 +8911,196 @@ msgstr "沒有結果" msgid "Transferred" msgstr "" -#: report/templatetags/report.py:192 +#: report/templatetags/report.py:191 msgid "Invalid media file path" msgstr "無效的媒體檔案路徑" -#: report/templatetags/report.py:211 +#: report/templatetags/report.py:210 msgid "Invalid static file path" msgstr "無效的靜態檔案路徑" -#: report/templatetags/report.py:313 +#: report/templatetags/report.py:312 msgid "Asset file not found" msgstr "找不到資產檔案" -#: report/templatetags/report.py:379 report/templatetags/report.py:505 +#: report/templatetags/report.py:373 report/templatetags/report.py:499 msgid "Image file not found" msgstr "找不到圖片文件" -#: report/templatetags/report.py:469 +#: report/templatetags/report.py:463 msgid "No image file specified" msgstr "未指定影像檔案" -#: report/templatetags/report.py:499 +#: report/templatetags/report.py:493 msgid "part_image tag requires a Part instance" msgstr "parpart_image 標籤需要一個零件實例" -#: report/templatetags/report.py:591 +#: report/templatetags/report.py:585 msgid "company_image tag requires a Company instance" msgstr "公司_圖片標籤需要一個公司實例" -#: stock/api.py:319 +#: stock/api.py:327 msgid "Filter by location depth" msgstr "按位置深度篩選" -#: stock/api.py:339 +#: stock/api.py:347 msgid "Filter by top-level locations" msgstr "按頂級位置篩選" -#: stock/api.py:354 +#: stock/api.py:362 msgid "Include sub-locations in filtered results" msgstr "在篩選結果中包含子地點" -#: stock/api.py:375 stock/serializers.py:1476 +#: stock/api.py:383 stock/serializers.py:1476 msgid "Parent Location" msgstr "上級地點" -#: stock/api.py:376 +#: stock/api.py:384 msgid "Filter by parent location" msgstr "按上級位置篩選" -#: stock/api.py:656 +#: stock/api.py:664 msgid "Part name (case insensitive)" msgstr "零件名稱(不分大小寫)" -#: stock/api.py:662 +#: stock/api.py:670 msgid "Part name contains (case insensitive)" msgstr "零件名稱包含(不分大小寫)" -#: stock/api.py:668 +#: stock/api.py:676 msgid "Part name (regex)" msgstr "零件名稱(正則)" -#: stock/api.py:673 +#: stock/api.py:681 msgid "Part IPN (case insensitive)" msgstr "零件 IPN(不分大小寫)" -#: stock/api.py:679 +#: stock/api.py:687 msgid "Part IPN contains (case insensitive)" msgstr "零件 IPN 包含(不分大小寫)" -#: stock/api.py:685 +#: stock/api.py:693 msgid "Part IPN (regex)" msgstr "零件 IPN(正則)" -#: stock/api.py:697 +#: stock/api.py:705 msgid "Minimum stock" msgstr "最小庫存" -#: stock/api.py:701 +#: stock/api.py:709 msgid "Maximum stock" msgstr "最大庫存" -#: stock/api.py:704 +#: stock/api.py:712 msgid "Status Code" msgstr "狀態代碼" -#: stock/api.py:748 +#: stock/api.py:756 msgid "External Location" msgstr "外部地點" -#: stock/api.py:847 +#: stock/api.py:855 msgid "Consumed by Build Order" msgstr "被生產工單消耗" -#: stock/api.py:857 +#: stock/api.py:865 msgid "Installed in other stock item" msgstr "已安裝於其他庫存項" -#: stock/api.py:937 +#: stock/api.py:945 msgid "Part Tree" msgstr "零件樹" -#: stock/api.py:966 +#: stock/api.py:974 msgid "Updated before" msgstr "更新時間早於" -#: stock/api.py:970 +#: stock/api.py:978 msgid "Updated after" msgstr "更新時間晚於" -#: stock/api.py:974 +#: stock/api.py:982 msgid "Stocktake Before" msgstr "盤點日期早於" -#: stock/api.py:978 +#: stock/api.py:986 msgid "Stocktake After" msgstr "盤點日期晚於" -#: stock/api.py:982 +#: stock/api.py:990 msgid "Has Stocktake Date" msgstr "" -#: stock/api.py:993 +#: stock/api.py:1001 msgid "Expiry date before" msgstr "過期日期前" -#: stock/api.py:997 +#: stock/api.py:1005 msgid "Expiry date after" msgstr "過期日期後" -#: stock/api.py:1000 stock/serializers.py:667 +#: stock/api.py:1008 stock/serializers.py:667 msgid "Stale" msgstr "過期" -#: stock/api.py:1024 +#: stock/api.py:1032 msgid "Cascade Locations" msgstr "級聯位置" -#: stock/api.py:1025 +#: stock/api.py:1033 msgid "If true, include items in child locations of the given location" msgstr "若為 true,則包含給定位置的子位置中的項目" -#: stock/api.py:1031 +#: stock/api.py:1039 msgid "Filter by numeric Location ID or the literal 'null'" msgstr "依數字位置 ID 或常值 'null' 篩選" -#: stock/api.py:1133 +#: stock/api.py:1141 msgid "Quantity is required" msgstr "請先輸入數量" -#: stock/api.py:1138 +#: stock/api.py:1146 msgid "Valid part must be supplied" msgstr "必須提供有效的零件" -#: stock/api.py:1169 +#: stock/api.py:1177 msgid "The given supplier part does not exist" msgstr "給定的供應商零件不存在" -#: stock/api.py:1179 +#: stock/api.py:1187 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "供應商零件有定義的包裝大小,但 use_pack_size 標誌未設置" -#: stock/api.py:1211 +#: stock/api.py:1219 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "不能為不可跟蹤的零件提供序列號" -#: stock/api.py:1456 +#: stock/api.py:1464 msgid "Include Installed" msgstr "包含已安裝" -#: stock/api.py:1458 +#: stock/api.py:1466 msgid "If true, include test results for items installed underneath the given stock item" msgstr "若為 true,則包含安裝在給定庫存項目下方的項目的測試結果" -#: stock/api.py:1465 +#: stock/api.py:1473 msgid "Filter by numeric Stock Item ID" msgstr "使用數字庫存品項 ID 做過濾" -#: stock/api.py:1486 +#: stock/api.py:1494 #, python-brace-format msgid "Stock item with ID {id} does not exist" msgstr "庫存品項 ID {id} 不存在" -#: stock/api.py:1560 +#: stock/api.py:1568 msgid "Include Part Variants" msgstr "包括零件變數" -#: stock/api.py:1590 +#: stock/api.py:1598 msgid "Date after" msgstr "日前之後" -#: stock/api.py:1594 +#: stock/api.py:1602 msgid "Date before" msgstr "日期之前" @@ -9346,115 +9367,115 @@ msgstr "序列號需以清單提供" msgid "Quantity does not match serial numbers" msgstr "數量不匹配序列號" -#: stock/models.py:2594 stock/models.py:3828 +#: stock/models.py:2606 stock/models.py:3851 msgid "Test template does not exist" msgstr "測試模板不存在" -#: stock/models.py:2612 +#: stock/models.py:2624 msgid "Stock item has been assigned to a sales order" msgstr "庫存項已分配到銷售訂單" -#: stock/models.py:2616 +#: stock/models.py:2628 msgid "Stock item is installed in another item" msgstr "庫存項已安裝在另一個項目中" -#: stock/models.py:2619 +#: stock/models.py:2631 msgid "Stock item contains other items" msgstr "庫存項包含其他項目" -#: stock/models.py:2622 +#: stock/models.py:2634 msgid "Stock item has been assigned to a customer" msgstr "庫存項已分配給客户" -#: stock/models.py:2625 stock/models.py:2876 +#: stock/models.py:2637 stock/models.py:2888 msgid "Stock item is currently in production" msgstr "庫存項目前正在生產" -#: stock/models.py:2628 +#: stock/models.py:2640 msgid "Serialized stock cannot be merged" msgstr "序列化的庫存不能合併" -#: stock/models.py:2635 stock/serializers.py:1790 +#: stock/models.py:2647 stock/serializers.py:1790 msgid "Duplicate stock items" msgstr "複製庫存項" -#: stock/models.py:2639 +#: stock/models.py:2651 msgid "Stock items must refer to the same part" msgstr "庫存項必須指相同零件" -#: stock/models.py:2647 +#: stock/models.py:2659 msgid "Stock items must refer to the same supplier part" msgstr "庫存項必須是同一供應商的零件" -#: stock/models.py:2652 +#: stock/models.py:2664 msgid "Stock status codes must match" msgstr "庫存狀態碼必須匹配" -#: stock/models.py:3080 +#: stock/models.py:3092 msgid "StockItem cannot be moved as it is not in stock" msgstr "庫存項不能移動,因為它沒有庫存" -#: stock/models.py:3710 +#: stock/models.py:3731 msgid "Stock Item Tracking" msgstr "庫存項跟蹤" -#: stock/models.py:3760 +#: stock/models.py:3781 msgid "Entry notes" msgstr "條目註釋" -#: stock/models.py:3800 +#: stock/models.py:3821 msgid "Stock Item Test Result" msgstr "庫存項測試結果" -#: stock/models.py:3831 +#: stock/models.py:3854 msgid "Value must be provided for this test" msgstr "必須為此測試提供值" -#: stock/models.py:3835 +#: stock/models.py:3858 msgid "Attachment must be uploaded for this test" msgstr "測試附件必須上傳" -#: stock/models.py:3840 +#: stock/models.py:3863 msgid "Invalid value for this test" msgstr "此測試的值無效" -#: stock/models.py:3864 +#: stock/models.py:3887 msgid "Test result" msgstr "測試結果" -#: stock/models.py:3871 +#: stock/models.py:3894 msgid "Test output value" msgstr "測試輸出值" -#: stock/models.py:3879 stock/serializers.py:264 +#: stock/models.py:3902 stock/serializers.py:264 msgid "Test result attachment" msgstr "測驗結果附件" -#: stock/models.py:3883 +#: stock/models.py:3906 msgid "Test notes" msgstr "測試備註" -#: stock/models.py:3891 +#: stock/models.py:3914 msgid "Test station" msgstr "測試站" -#: stock/models.py:3892 +#: stock/models.py:3915 msgid "The identifier of the test station where the test was performed" msgstr "進行測試的測試站的標識符" -#: stock/models.py:3898 +#: stock/models.py:3921 msgid "Started" msgstr "已開始" -#: stock/models.py:3899 +#: stock/models.py:3922 msgid "The timestamp of the test start" msgstr "測試開始的時間戳" -#: stock/models.py:3905 +#: stock/models.py:3928 msgid "Finished" msgstr "已完成" -#: stock/models.py:3906 +#: stock/models.py:3929 msgid "The timestamp of the test finish" msgstr "測試結束的時間戳" @@ -9617,11 +9638,6 @@ msgstr "安裝數量不得超過可用數量" msgid "Destination location for uninstalled item" msgstr "已卸載項目的目標位置" -#: stock/serializers.py:945 stock/serializers.py:2027 stock/serializers.py:2155 -#: stock/serializers.py:2264 -msgid "Structural locations cannot be assigned stock items" -msgstr "" - #: stock/serializers.py:979 msgid "Stock item status code" msgstr "庫存項狀態代碼" diff --git a/src/frontend/src/locales/ar/messages.po b/src/frontend/src/locales/ar/messages.po index 4d74989c94..7ac9db3072 100644 --- a/src/frontend/src/locales/ar/messages.po +++ b/src/frontend/src/locales/ar/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ar\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\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" @@ -82,20 +82,20 @@ msgstr "حذف" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "إلغاء" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "الإجراءات" @@ -157,15 +157,15 @@ msgstr "لا" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "اختيار سجلات" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "اختيار سجلات" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "خطأ" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "تحديث تقويم" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "تصدير بيانات" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "إزالة ال مرتبط صورة من هذا عنصر؟" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "الإضافات" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "مفعّل" @@ -2243,7 +2243,7 @@ msgstr "تحديد..." #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "جارٍ التحميل..." @@ -2305,7 +2305,7 @@ msgstr "تصفية حسب حالة صف validation" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "مكتمل" @@ -2455,8 +2455,8 @@ msgstr "الخيارات" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "باركود إجراءات" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "تغيير" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "إضافة" @@ -3039,7 +3039,7 @@ msgstr "تسجيل الخروج" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "المرفقات" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "الفئة" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "الموقع" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "الرقم التسلسلي" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "الكمية" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "دفعة" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "ملاحظة" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "مخصص سطور" @@ -3939,12 +3939,12 @@ msgstr "عرض عناصر الذي لديه رمز الدفعة" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "تصفية عناصر حسب رمز الدفعة" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "تضمين نتائج لـ صنف متغيرات" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "تضمين نتائج لـ صنف متغيرات" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "إزالة تصفية" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "القيمة" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "حذف تصفية مجموعة" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "جدول مرشحات" @@ -4395,41 +4395,53 @@ msgstr "خطأ في جارٍ التحميل جدول بيانات" msgid "View {model}" msgstr "عرض {model}" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "حذف محدد عناصر" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "هل أنت متأكد من رغبتك في حذف ال محدد عناصر؟" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "هذا إجراء لا يمكن يكون undone" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "عناصر تم الحذف" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "فشل في حذف عناصر" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "مخصص جدول مرشحات هي نشط" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "حذف محدد سجلات" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "تحديث بيانات" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "نشط مرشحات" @@ -5641,7 +5653,7 @@ msgstr "بديل تمت الإضافة" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "مخرجات الإنتاج" @@ -5729,7 +5741,7 @@ msgstr "اختر موقع المصدر لتخصيص المخزون" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "هذا صنف هو افتراضي، لا physical مخزون سوف يك #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "تعيين موقع" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "تاريخ تعيين انتهاء" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "تسوية تعبئة" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "حالة تغيير" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "إدخال انتهاء تاريخ لـ مستلم عناصر" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "إضافة عنصر مخزون" msgid "Select the part to install" msgstr "تحديد ال صنف إلى تثبيت" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "مثبت عناصر" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "مكوّن" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "كمية الوحدة" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "كمية الوحدة" msgid "Unit Price" msgstr "سعر الوحدة" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "تأكيد مخزون تحويل" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "تأكيد مخزون إرجاع" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "نقل إلى افتراضي موقع" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "دمج إلى موجود مخزون" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "نقل" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "إرجاع" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "دمج مرتجع عناصر إلى موجود عناصر المخزون إذا possible" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "مخزون transaction ملاحظات" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "العدد" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "إضافة المخزون" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "مخزون تمت الإضافة" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Increase ال كمية لـ ال محدد عناصر المخزون حسب معطى amount." -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "إزالة المخزون" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "مخزون تمت الإزالة" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Decrease ال كمية لـ ال محدد عناصر المخزون حسب معطى amount." -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "تحويل مخزون" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "مخزون منقول" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "تحويل محدد عناصر إلى ال محدد موقع." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "إرجاع مخزون" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "مخزون مرتجع" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "إرجاع محدد عناصر إلى مخزون، إلى ال محدد موقع." -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "عد مخزون" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "مخزون counted" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "عد ال محدد عناصر المخزون، و تسوية ال كمية accordingly." -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "حالة تغيير مخزون" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "مخزون حالة تم التغيير" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "تغيير ال حالة لـ ال محدد عناصر المخزون." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "تغيير رمز الدفعة" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "تغيير رمز الدفعة لـ ال محدد عناصر المخزون" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "دمج مخزون" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "مخزون merged" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "دمج عناصر المخزون" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "دمج operation لا يمكن يكون reversed" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "تتبع معلومات قد يكون lost عند merging عناصر" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "مورد معلومات قد يكون lost عند merging عناصر" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "إسناد مخزون إلى عميل" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "مخزون مسند إلى عميل" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "حذف عناصر المخزون" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "مخزون تم الحذف" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "هذا operation سوف permanently حذف ال محدد عناصر المخزون." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "الأصل موقع المخزون" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Find الرقم التسلسلي" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "لا يوجد عناصر مطابق" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "متعدد مطابق عناصر" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "غير صالح استجابة من خادم" @@ -8315,8 +8327,8 @@ msgstr "فرعي أوامر الإنتاج" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "اختبار نتائج" @@ -8951,7 +8963,7 @@ msgstr "معلمات الصنف لا يمكن يكون تم التحرير، ب #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "مطلوب" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "مخزون Operations" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "ترقيم تسلسلي" @@ -10779,12 +10791,12 @@ msgstr "إنشاء أمر إنتاج" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "Allocating مخزون إلى أمر الإنتاج" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "مخزون تخصيص مكتمل" @@ -10792,8 +10804,8 @@ msgstr "مخزون تخصيص مكتمل" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "تلقائيًا تخصيص untracked BOM عناصر إلى هذا إن #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "إلغاء تخصيص المخزون" @@ -10877,7 +10889,7 @@ msgstr "عرض خارجي أوامر الإنتاج" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "مخرجات الإنتاج مخزون تخصيص" @@ -10889,7 +10901,7 @@ msgstr "مخرجات الإنتاج مخزون تخصيص" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "تلقائيًا تخصيص متتبع BOM عناصر إلى هذا إنتاج according إلى ال محدد خيارات" @@ -10897,49 +10909,49 @@ msgstr "تلقائيًا تخصيص متتبع BOM عناصر إلى هذا إن #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "إضافة مخرجات الإنتاج" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "مخرجات الإنتاج تم الإنشاء" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "Completing إنتاج مخرجات" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "إنتاج مخرجات لديه تم مكتمل" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "Scrapping إنتاج مخرجات" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "إنتاج مخرجات لديه تم scrapped" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "Cancelling إنتاج مخرجات" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "إنتاج مخرجات لديه تم ملغى" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "تعديل مخرجات الإنتاج" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "هذا إجراء سوف deallocate الكل مخزون من ال محدد مخرجات الإنتاج" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "ترقيم تسلسلي مخرجات الإنتاج" @@ -10947,69 +10959,69 @@ msgstr "ترقيم تسلسلي مخرجات الإنتاج" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "تصفية حسب حالة مخزون" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "مكتمل محدد مخرجات" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Scrap محدد مخرجات" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "إلغاء محدد مخرجات" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "تخصيص" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "تخصيص مخزون إلى مخرجات الإنتاج" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Deallocate مخزون من مخرجات الإنتاج" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "ترقيم تسلسلي مخرجات الإنتاج" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "مكتمل مخرجات الإنتاج" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Scrap مخرجات الإنتاج" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "إلغاء مخرجات الإنتاج" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "مطلوب اختبارات" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "خارجي إنتاج" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "هذا أمر الإنتاج هو fulfilled حسب خارجي طلب الشراء" @@ -11881,14 +11893,14 @@ msgstr "تصفية حسب أصناف إلى الذي ال مستخدم هو مش #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "إضافة نتيجة الاختبار" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "نتيجة الاختبار تمت الإضافة" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "اختبار نتائج تمت الإضافة" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "لا نتيجة" @@ -12654,7 +12666,7 @@ msgstr "نقطة نهاية" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "نتيجة" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "مهمة ID" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "بدأ" @@ -13502,81 +13514,81 @@ msgstr "طلب عناصر" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "اختبار" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "نتيجة الاختبار لـ مثبت عنصر المخزون" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "المرفق" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "اختبار station" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "تعديل نتيجة الاختبار" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "نتيجة الاختبار تم التحديث" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "حذف نتيجة الاختبار" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "نتيجة الاختبار تم الحذف" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "اختبار نجح" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "نتيجة الاختبار لديه تم recorded" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "فشل في سجل نتيجة الاختبار" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "نجاح اختبار" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "عرض نتائج لـ مطلوب اختبارات" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "تضمين مثبت" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "عرض نتائج لـ مثبت عناصر المخزون" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "نجح" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "عرض فقط نجح اختبارات" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "عرض نتائج لـ مفعّل اختبارات" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index 0a71d79a01..ee93864360 100644 --- a/src/frontend/src/locales/bg/messages.po +++ b/src/frontend/src/locales/bg/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: bg\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "" @@ -157,15 +157,15 @@ msgstr "" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "" @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "" @@ -3039,7 +3039,7 @@ msgstr "" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index fe16bf81fd..18db1db743 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: cs\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -82,20 +82,20 @@ msgstr "Odstranit" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Zrušit" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Akce" @@ -157,15 +157,15 @@ msgstr "Ne" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "Výběr záznamů" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "Výběr záznamů" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Chyba" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "Obnovit kalendář" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Exportovat data" @@ -1503,7 +1503,7 @@ 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:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Pluginy" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Povoleno" @@ -2243,7 +2243,7 @@ msgstr "Vybrat..." #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Načítání..." @@ -2305,7 +2305,7 @@ msgstr "Filtrovat podle stavu ověření řádku" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Hotovo" @@ -2455,8 +2455,8 @@ msgstr "Možnosti" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Akce čárového kódu" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Změnit" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Přidat" @@ -3039,7 +3039,7 @@ msgstr "Odhlásit" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Přílohy" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Kategorie" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Lokace" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Sériové číslo" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Množství" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Dávka" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Poznámka" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "Přidělené řádky" @@ -3939,12 +3939,12 @@ msgstr "Zobrazit položky, které mají kód dávky" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Filtrovat položky podle kódu dávky" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "Zahrnout výsledky pro varianty dílu" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "Zahrnout výsledky pro varianty dílu" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Odstranit filtr" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Hodnota" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "Odstranit skupinu filtru" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Filtry tabulek" @@ -4395,41 +4395,53 @@ msgstr "Chyba při načítání údajů tabulky" msgid "View {model}" msgstr "Zobrazit {model}" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Odstranit vybrané položky" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Jste si jisti, že chcete odstranit vybrané položky?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Tuto akci nelze vrátit zpět" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "Položky smazány" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "Odstranění položek se nezdařilo" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "Vlastní tabulkové filtry jsou aktivní" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Odstranit vybrané záznamy" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Aktualizovat data" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Aktivní filtry" @@ -5641,7 +5653,7 @@ msgstr "Náhrada přidána" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Výstup sestavy" @@ -5729,7 +5741,7 @@ msgstr "Vyberte umístění pro přiřazení zásob" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "Tento díl je virtuální, žádné fyzické zásoby nebudou přijaty." #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Nastavit umístění" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Nastavit datum expirace" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Upravit balení" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Změnit stav" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Zadejte datum expirace pro přijaté položky" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Nová skladová položka" msgid "Select the part to install" msgstr "Vyberte skladovou položku k instalaci" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Instalované položky" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "Automatický" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "Tento řádek nemůže být odstraněn, protože má nainstalované položky" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "Následující instalované položky budou odinstalovány během demontáže" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "Vlastní umístění pro komponenty položky" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "Stav pro komponenty položky" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "Není nastavena žádná lokace" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "Další instalované položky" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "Následující položky jsou instalovány, ale neodpovídají uvedeným komponentám. Budou odinstalovány během demontáže." -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "Následující položky jsou instalovány, ale neodpovídají uvedeným msgid "Component" msgstr "Komponenta" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Jednotkové množství" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "Jednotkové množství" msgid "Unit Price" msgstr "Jednotková cena" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "Demontovat skladovou položku" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "Zásoby byly rozebrány" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Potvrdit převod zásob" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "Potvrdit vrácení zásob" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Přesunout do výchozího umístění" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "Sloučit do existujících zásob" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Přesunout" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Vrátit" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "Sloučit vrácené položky do existujících zásob, pokud je to možné" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "Poznámky k transakci" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Počet" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Přidat zásobu" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Zásoba přidána" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Zvyšte množství vybraných skladových položek o danou částku." -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Snížit zásobu" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Zásoba snížena" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Snižte množství vybraných skladových položek o danou částku." -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Převést zásobu" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Skladová položka převedena" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "Přesunout vybrané položky do určeného umístění." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "Vrátit zásoby" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "Zásoby vráceny" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "Vrátit vybrané položky do skladu na určené místo." -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Spočítat zásoby" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Spočítáno" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "Spočítat vybrané skladové položky, a podle toho upravit množství." -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Změnit stav skladu" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Stav skladu byl změněn" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "Změnit stav vybraných skladových položek." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "Změnit kód sarže" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "Změnit kód sarže pro vybrané skladové položky" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Sloučit zásoby" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Zásoby sloučeny" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "Sloučit skladové položky" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "Sloučení nelze vrátit zpět" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "Při slučování položek mohou být informace o sledování ztraceny" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "Informace o dodavateli mohou být při slučování položek ztraceny" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Přiřadit sklad zákazníkovi" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Zásoby přiřazené zákazníkovi" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Odstranit skladové položky" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Skladová položka odstraněna" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "Tato operace trvale odstraní vybrané skladové položky." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Nadřazené skladové umístění" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Najít sériové číslo" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "Žádné odpovídající položky" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "Více odpovídajících položek" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "Neplatná odpověď ze serveru" @@ -8315,8 +8327,8 @@ msgstr "Podřízené objednávky sestavy" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Výsledky testu" @@ -8951,7 +8963,7 @@ msgstr "Parametr dílu nemůže být upraven, díl je uzamčen" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Požadováno" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Úpravy zásob" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "Serializovat" @@ -10779,12 +10791,12 @@ msgstr "Vytvořit výrobní příkaz" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "Přidělování zásob k sestavě" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "Přidělování zásob dokončeno" @@ -10792,8 +10804,8 @@ msgstr "Přidělování zásob dokončeno" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "Automaticky přiřadí nesledované položky kusovníku do této sestavy #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "Uvolnění zásob" @@ -10877,7 +10889,7 @@ msgstr "Zobrazit externí výrobní příkazy" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "Přiřazení zásob výrobním objednávkám" @@ -10889,7 +10901,7 @@ msgstr "Přiřazení zásob výrobním objednávkám" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "Automaticky přiřadí sledované položky kusovníku do této sestavy dle zvolených možností" @@ -10897,49 +10909,49 @@ msgstr "Automaticky přiřadí sledované položky kusovníku do této sestavy d #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Přidat výstup výroby" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "Výstup výroby vytvořen" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "Dokončit sestavu" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Výrobní příkaz byl dokončen" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "Rušení sestavy" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Výrobní příkaz byl vyřazen" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "Rušení sestavy" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Výrobní příkaz byl zrušen" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "Upravit výstup výroby" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "Tato akce odstraní veškeré přiřazené zásoby z vybraného výstupu výroby" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "Serializovat výstup výroby" @@ -10947,69 +10959,69 @@ msgstr "Serializovat výstup výroby" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Filtrovat podle stavu zásob" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Dokončit vybrané výstupy" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Vyřadit vybrané výstupy" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Zrušit vybrané výstupy" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Přidělit" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Přiděleit zásoby k sestavě" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Dealokovat" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Dealokovat zásoby ze sestavy" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "Serializovat výstup výroby" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Dokončit sestavu" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Šrot" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Výstup ze šrotu" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Zrušit výrobní příkazy" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Vyžadované testy" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "Externí výroba" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "Tato výrobní objednávka bude vyplněna externím nákupem" @@ -11881,14 +11893,14 @@ msgstr "Filtrovat podle dílů, které uživatel odebírá" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Přidat výsledek testu" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Výsledek testu přidán" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "Výsledky testu přidány" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Žádný výsledek" @@ -12654,7 +12666,7 @@ msgstr "Koncový bod" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Výsledek" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "ID úkolu" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Začátek" @@ -13502,81 +13514,81 @@ msgstr "Objednat položky" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Výsledek zkoušky pro instalovanou skladovou položku" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Příloha" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Testovací stanice" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Dokončeno" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Upravit výsledek testu" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Výsledek testu byl aktualizován" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Odstranit výsledek testu" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Výsledek testu byl smazán" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Test prošel" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Výsledek testu byl zaznamenán" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Nepodařilo se zaznamenat výsledek testu" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Test splněn" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Zobrazit výsledky pro požadované testy" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Zahrnout nainstalované" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Zobrazit výsledky pro nainstalované skladové položky" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Prošlo" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Zobrazit pouze prošlé testy" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "Zobrazit výsledky pro povolené testy" diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 0b0e5832dd..9c551d6498 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: da\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Slet" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Annuller" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Handlinger" @@ -157,15 +157,15 @@ msgstr "Nej" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Fejl" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Eksporter Data" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Fjern det tilknyttede billede fra denne vare?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Plugins" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Aktiveret" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Indlæser..." @@ -2305,7 +2305,7 @@ msgstr "Filtrer efter rækkevaliderings status" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Færdiggjort" @@ -2455,8 +2455,8 @@ msgstr "Indstillinger" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Stregkode Handlinger" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Ændre" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Tilføj" @@ -3039,7 +3039,7 @@ msgstr "Log ud" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Vedhæftninger" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Kategori" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Lokation" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Serienummer" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Antal" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Batch" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Note" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "Vis elementer som har en batch kode" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Fjern filter" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Værdi" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "Fejl ved indlæsning af tabeldata" msgid "View {model}" msgstr "Vis {model}" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Slet valgte del" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Er du sikker på at du ønsker at slette de valgte varer?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Denne handling kan ikke fortrydes" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "Elementer slettet" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "Kunne ikke slette elementer" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Aktive Filtre" @@ -5641,7 +5653,7 @@ msgstr "Erstatning tilføjet" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Bygge Output" @@ -5729,7 +5741,7 @@ msgstr "Vælg kildelokationen for lagertildelingen" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Indstil Lokation" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Sæt Udløbsdato" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Juster Emballering" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Ændre Status" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Indtast en udløbsdato for modtagne vare" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Tilføj Lagervare" msgid "Select the part to install" msgstr "Vælg den del, der skal installeres" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Installerede Elementer" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Komponent" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "Enhedspris" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Bekræft Lager Overførsel" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Flyt til standard lokation" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Flyt" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Retur" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Antal" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Tilføj Lagerbeholdning" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Lager tilføjet" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Forøg antallet af valgte lagervarer med et givet beløb." -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Fjern Lagervarer" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Lager fjernet" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Reducer antallet af de valgte lagervarer med et givet beløb." -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Overfør Lager" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Lager overført" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "Overfør valgte elementer til den angivne lokation." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "Retur Lager" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "Lager returneret" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "Returner valgte elementer til lager, til den angivne lokation." -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Tæl Lager" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Lager er optalt" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "Tæl de valgte lagervarer, og juster mængden i overensstemmelse." -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Ændr Lagerstatus" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Lagerstatus ændret" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "Ændre status for de valgte lagervarer." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Flet Lager" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Lager sammenlagt" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "Flet Lagervarer" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "Fletningshandlingen kan ikke fortrydes" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "Sporingsoplysninger kan gå tabt ved sammenlægning af elementer" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "Leverandøroplysninger kan gå tabt ved sammenlægning af elementer" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Tildel lager til kunde" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Lager tildelt kunden" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Slet Lagervare" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Lagervare slettet" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "Denne handling vil permanent slette de valgte lagervarer." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Overordnet lager lokation" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Find Serienummer" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "Ingen matchende varer" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "Flere matchende varer" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "Ugyldigt svar fra server" @@ -8315,8 +8327,8 @@ msgstr "Byg Underordnede Ordrer" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Testresultater" @@ -8951,7 +8963,7 @@ msgstr "Delparametre kan ikke redigeres, da delen er låst" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Påkrævet" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Lager Operationer" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "Vis eksterne bygge ordrer" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Byggeresultater er udført" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Byggeoutput er blevet skrottet" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Byggeoutput er blevet aflyst" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Skrot valgte outputs" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Annuller valgte output" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Allokere" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Skrot" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Skrot bygge output" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Annuller bygge output" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Påkrævede Test" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Tilføj Testresultat" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Testresultater tilføjet" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "Testresultater tilføjet" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Ingen Resultater" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Resultat" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "Opgave ID" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Startede" @@ -13502,81 +13514,81 @@ msgstr "Bestil varer" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Test resultat for installeret lagervare" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Vedhæftning" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Test station" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Færdig" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Rediger Testresultat" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Test resultat opdateret" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Slet Testresultat" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Test resultat slettet" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Test Gennemført" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Testresultatet er blevet registreret" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Fejlet at registrere testresultatet" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Vis resultater for påkrævede tests" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Vis resultater for installerede lagervarer" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Gennemført" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Vis kun bestået tests" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "Vis resultater for aktiverede tests" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index 5910c9a2df..b8c2997e05 100644 --- a/src/frontend/src/locales/de/messages.po +++ b/src/frontend/src/locales/de/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Löschen" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Abbrechen" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Aktionen" @@ -157,15 +157,15 @@ msgstr "Nein" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Fehler" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Daten exportieren" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Verknüpftes Bild von diesem Teil entfernen?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Plugins" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Aktiviert" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Lade..." @@ -2305,7 +2305,7 @@ msgstr "Filtern nach Zeilenvalidierung" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Fertigstellen" @@ -2455,8 +2455,8 @@ msgstr "Optionen" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Barcode-Aktionen" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Ändern" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Hinzufügen" @@ -3039,7 +3039,7 @@ msgstr "Abmelden" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Anhänge" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Kategorie" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Lagerort" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Seriennummer" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Anzahl" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Losnummer" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Notiz" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "Zeige Bestand mit Losnummer" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Elemente nach Batch-Code filtern" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "Ergebnisse für Teilvarianten einbeziehen" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "Ergebnisse für Teilvarianten einbeziehen" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Filter entfernen" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Wert" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Tabellenfilter" @@ -4395,41 +4395,53 @@ msgstr "Fehler beim Laden der Tabellendaten" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Ausgewählte Elemente löschen" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Möchten Sie die ausgewählten Elemente wirklich löschen?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Diese Aktion kann nicht rückgängig gemacht werden" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "Elemente gelöscht" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "Fehler beim Löschen der Elemente" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "Benutzerdefinierte Tabellenfilter sind aktiv" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Ausgewählte Datensätze löschen" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Daten aktualisieren" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Aktive Filter" @@ -5641,7 +5653,7 @@ msgstr "Ersatz-Teil hinzugefügt" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Bauprodukt" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Lagerort festlegen" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Ablaufdatum festlegen" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Verpackung anpassen" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Status ändern" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Ablaufdatum eingeben für empfangene Gegenstände" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Lagerartikel hinzufügen" msgid "Select the part to install" msgstr "Teil zur Installation auswählen" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Installierte Elemente" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Komponente" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Einheiten Menge" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "Einheiten Menge" msgid "Unit Price" msgstr "Preis pro Einheit" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Bestand-Transfer bestätigen" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Zum Standard-Lagerort verschieben" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Verschieben" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Zurück" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Anzahl" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Bestand hinzufügen" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Bestand hinzugefügt" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Menge der ausgewählten Bestandteile um einen bestimmten Betrag erhöhen" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Bestand entfernen" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Bestand entfernt" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Menge der ausgewählten Bestandteile um einen bestimmten Betrag reduzieren" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Bestand verschieben" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Bestand übertragen" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "Ausgewählte Elemente an den angegebenen Ort übertragen." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "Lagerbestand zurückgeben" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "Lagerbestand zurückgegeben" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Bestand zählen" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Lagerbestand gezählt" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Bestandsstatus ändern" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Bestandstatus geändert" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "Status der ausgewählten Lagerartikel ändern." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Bestand zusammenführen" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Lagerbestand zusammengeführt" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "Lagerbestand zusammenführen" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "Das Zusammenführen kann nicht rückgängig gemacht werden" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "Tracking-Informationen können beim Zusammenführen von Elementen verloren gehen" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "Lieferanteninformationen können beim Zusammenführen verloren gehen" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Lagerbestand einem Kunden zuweisen" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Lagerbestand wurde Kunden zugewiesen" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Bestand löschen" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Lagerbestand gelöscht" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "Dieser Vorgang löscht die ausgewählten Lagerbestandteile unwiderruflich." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Seriennummer finden" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "Keine passenden Elemente" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "Mehrere passende Elemente" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "Ungültige Antwort vom Server" @@ -8315,8 +8327,8 @@ msgstr "Unter-Bauaufträge" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Testergebnisse" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Erforderlich" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Lagervorgänge" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "Externe Bauaufträge anzeigen" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Bauprodukt hinzufügen" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Bauprodukte wurden fertiggestellt" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Bauprodukte wurden verschrottet" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Bauprodukte wurden abgebrochen" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Nach Lagerstatus filtern" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Ausgewählte Bauprodukte fertigstellen" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Ausgewählte Bauprodukte verschrotten" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Ausgewählte Bauprodukte abbrechen" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Zuweisen" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Bestand dem Bauprodukt zuweisen" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Freigeben" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Bestand von Bauprodukt entfernen" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Bauprodukt fertigstellen" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Verschrotten" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Bauprodukt verschrotten" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Bauprodukt abbrechen" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Erforderliche Tests" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "Nach vom Nutzer abonnierten Teilen filtern " #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Testergebnis hinzugefügt" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "Testergebnisse hinzugefügt" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Kein Ergebnis" @@ -12654,7 +12666,7 @@ msgstr "Endpunkt" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Ergebnis" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "Aufgaben ID" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Gestartet" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Testergebnis für installierten Lagerbestand" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Anhang" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Teststation" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Fertiggestellt" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Testergebnis bearbeiten" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Testergebnis aktualisiert" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Testergebnis löschen" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Testergebnis gelöscht" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Test bestanden" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Testergebnis wurde erfasst" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Fehler beim Erfassen des Testergebnisses" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Test bestanden" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Ergebnisse für erforderliche Tests anzeigen" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Installierte Teile einschließen" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Zeige Ergebnisse für installierte Lagerartikel" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Bestanden" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Nur bestandene Tests anzeigen" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index e665d72d4c..0a986264ea 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: el\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Διαγραφή" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Ακύρωση" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Ενέργειες" @@ -157,15 +157,15 @@ msgstr "Όχι" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Σφάλμα" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Αφαίρεση της σχετικής εικόνας από αυτό το στοιχείο;" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Plugins" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Ενεργό" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Φόρτωση..." @@ -2305,7 +2305,7 @@ msgstr "Φιλτράρισμα ανά κατάσταση εγκυρότητας" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Ολοκληρωμένο" @@ -2455,8 +2455,8 @@ msgstr "Επιλογές" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Ενέργειες Barcode" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Αλλαγή" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Προσθήκη" @@ -3039,7 +3039,7 @@ msgstr "Αποσύνδεση" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Συνημμένα" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Κατηγορία" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Τοποθεσία" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Σειριακός αριθμός" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Ποσότητα" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Παραγωγική παρτίδα" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Σημείωση" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "Κατανεμημένες γραμμές" @@ -3939,12 +3939,12 @@ msgstr "Εμφάνιση ειδών με κωδικό παρτίδας" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Φιλτράρισμα ειδών ανά κωδικό παρτίδας" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "Συμπερίληψη αποτελεσμάτων για παραλλα #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "Συμπερίληψη αποτελεσμάτων για παραλλα #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Αφαίρεση φίλτρου" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Τιμή" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Φίλτρα Πίνακα" @@ -4395,41 +4395,53 @@ msgstr "Σφάλμα φόρτωσης δεδομένων πίνακα" msgid "View {model}" msgstr "Προβολή {model}" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Διαγραφή Επιλεγμένων Ειδών" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα είδη;" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Αυτή η ενέργεια δεν μπορεί να αναιρεθεί" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "Τα είδη διαγράφηκαν" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "Αποτυχία διαγραφής ειδών" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "Τα προσαρμοσμένα φίλτρα πίνακα είναι ενεργά" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Διαγραφή επιλεγμένων εγγραφών" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Ανανέωση δεδομένων" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Ενεργά Φίλτρα" @@ -5641,7 +5653,7 @@ msgstr "Το υποκατάστατο προστέθηκε" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Αποτέλεσμα κατασκευής" @@ -5729,7 +5741,7 @@ msgstr "Επιλέξτε την τοποθεσία προέλευσης για #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Ορισμός τοποθεσίας" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Ορισμός ημερομηνίας λήξης" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Προσαρμογή συσκευασίας" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Αλλαγή κατάστασης" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Εισαγάγετε ημερομηνία λήξης για τα παραληφθέντα είδη" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Προσθήκη είδους αποθέματος" msgid "Select the part to install" msgstr "Επιλέξτε το Προϊόν προς εγκατάσταση" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Εγκατεστημένα Είδη" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Συστατικό" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Ποσότητα μονάδας" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "Ποσότητα μονάδας" msgid "Unit Price" msgstr "Τιμή Μονάδας" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Επιβεβαίωση μεταφοράς αποθέματος" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Μετακίνηση στην προεπιλεγμένη τοποθεσία" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Μετακίνηση" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Επιστροφή" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Καταμέτρηση" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Προσθήκη αποθέματος" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Το απόθεμα προστέθηκε" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Αυξήστε την ποσότητα των επιλεγμένων ειδών αποθέματος κατά μια δεδομένη τιμή." -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Αφαίρεση αποθέματος" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Το απόθεμα αφαιρέθηκε" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Μείωση της ποσότητας των επιλεγμένων ειδών αποθέματος κατά μια δεδομένη τιμή." -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Μεταφορά αποθέματος" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Το απόθεμα μεταφέρθηκε" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "Μεταφέρετε τα επιλεγμένα είδη στην καθορισμένη τοποθεσία." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "Επιστροφή αποθέματος" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "Το απόθεμα επιστράφηκε" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "Επιστροφή των επιλεγμένων ειδών στο απόθεμα, στην καθορισμένη τοποθεσία." -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Καταμέτρηση αποθέματος" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Το απόθεμα καταμετρήθηκε" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "Καταμετρήστε τα επιλεγμένα είδη αποθέματος και προσαρμόστε την ποσότητα ανάλογα." -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Αλλαγή κατάστασης αποθέματος" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Η κατάσταση αποθέματος άλλαξε" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "Αλλαγή της κατάστασης των επιλεγμένων ειδών αποθέματος." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Συγχώνευση αποθέματος" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Το απόθεμα συγχωνεύτηκε" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "Συγχώνευση ειδών αποθέματος" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "Η ενέργεια συγχώνευσης δεν μπορεί να αναιρεθεί" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "Οι πληροφορίες ιχνηλάτησης μπορεί να χαθούν κατά τη συγχώνευση" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "Οι πληροφορίες προμηθευτή μπορεί να χαθούν κατά τη συγχώνευση" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Ανάθεση αποθέματος σε πελάτη" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Το απόθεμα ανατέθηκε στον πελάτη" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Διαγραφή ειδών αποθέματος" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Το απόθεμα διαγράφηκε" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "Αυτή η ενέργεια θα διαγράψει μόνιμα τα επιλεγμένα είδη αποθέματος." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Γονική τοποθεσία αποθέματος" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Εύρεση σειριακού αριθμού" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "Δεν βρέθηκαν αντίστοιχα είδη" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "Πολλαπλά αντίστοιχα είδη" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "Μη έγκυρη απόκριση από τον διακομιστή" @@ -8315,8 +8327,8 @@ msgstr "Θυγατρικές Εντολές Κατασκευής" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Αποτελέσματα Δοκιμών" @@ -8951,7 +8963,7 @@ msgstr "Οι παράμετροι προϊόντος δεν μπορούν να #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Απαιτείται" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Λειτουργίες Αποθέματος" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "Σειριοποίηση" @@ -10779,12 +10791,12 @@ msgstr "Δημιουργία εντολής κατασκευής" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "Αποδέσμευση αποθέματος" @@ -10877,7 +10889,7 @@ msgstr "Εμφάνιση εξωτερικών εντολών κατασκευή #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "Κατανομή αποθέματος εξόδου κατασκευής" @@ -10889,7 +10901,7 @@ msgstr "Κατανομή αποθέματος εξόδου κατασκευής" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Προσθήκη εξόδου κατασκευής" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "Η έξοδος κατασκευής δημιουργήθηκε" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Τα αποτελέσματα κατασκευής ολοκληρώθηκαν" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Τα αποτελέσματα κατασκευής έχουν απορριφθεί" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Τα αποτελέσματα κατασκευής ακυρώθηκαν" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "Επεξεργασία εξόδου κατασκευής" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "Αυτή η ενέργεια θα αποδεσμεύσει όλο το απόθεμα από την επιλεγμένη έξοδο κατασκευής" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "Σειριοποίηση εξόδου κατασκευής" @@ -10947,69 +10959,69 @@ msgstr "Σειριοποίηση εξόδου κατασκευής" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Φιλτράρισμα κατά κατάσταση αποθέματος" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Ολοκλήρωση επιλεγμένων εξόδων" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Απόρριψη επιλεγμένων εξόδων" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Ακύρωση επιλεγμένων εξόδων" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Κατανομή" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Κατανομή αποθέματος στην έξοδο κατασκευής" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Αποδέσμευση" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Αποδέσμευση αποθέματος από την έξοδο κατασκευής" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "Σειριοποίηση εξόδου κατασκευής" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Ολοκλήρωση εξόδου κατασκευής" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Απόρριψη" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Απόρριψη εξόδου κατασκευής" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Ακύρωση εξόδου κατασκευής" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Απαιτούμενες δοκιμές" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "Εξωτερική κατασκευή" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "Αυτή η εντολή κατασκευής εκτελείται μέσω εξωτερικής εντολής αγοράς" @@ -11881,14 +11893,14 @@ msgstr "Φιλτράρισμα προϊόντων στα οποία ο χρήσ #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Προσθήκη αποτελέσματος δοκιμής" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Το αποτέλεσμα δοκιμής προστέθηκε" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "Τα αποτελέσματα δοκιμής προστέθηκαν" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Κανένα αποτέλεσμα" @@ -12654,7 +12666,7 @@ msgstr "Endpoint" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Αποτέλεσμα" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "ID εργασίας" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Ξεκίνησε" @@ -13502,81 +13514,81 @@ msgstr "Παραγγελία Προϊόντων" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Τεστ" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Αποτέλεσμα τεστ για εγκατεστημένο Προϊόν αποθέματος" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Συνημμένο" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Σταθμός δοκιμής" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Ολοκληρώθηκε" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Επεξεργασία αποτελέσματος τεστ" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Το αποτέλεσμα του τεστ ενημερώθηκε" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Διαγραφή αποτελέσματος τεστ" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Το αποτέλεσμα του τεστ διαγράφηκε" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Επιτυχής δοκιμή" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Το αποτέλεσμα του τεστ καταχωρήθηκε" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Αποτυχία καταγραφής αποτελέσματος τεστ" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Επιτυχής Δοκιμή" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Εμφάνιση αποτελεσμάτων για υποχρεωτικά τεστ" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Συμπερίληψη εγκατεστημένων" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Εμφάνιση αποτελεσμάτων για εγκατεστημένα Προϊόντα" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Επιτυχία" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Εμφάνιση μόνο επιτυχημένων τεστ" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "Εμφάνιση αποτελεσμάτων για ενεργά τεστ" diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index 683127139b..b20acde55d 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -77,20 +77,20 @@ msgstr "Delete" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Cancel" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Actions" @@ -152,15 +152,15 @@ msgstr "No" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -668,7 +668,7 @@ msgstr "Selection Entries" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -684,7 +684,7 @@ msgstr "Selection Entries" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Error" @@ -1066,7 +1066,7 @@ msgid "Refresh calendar" msgstr "Refresh calendar" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Export data" @@ -1498,7 +1498,7 @@ msgid "Remove the associated image from this item?" msgstr "Remove the associated image from this item?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2125,7 +2125,7 @@ msgstr "Plugins" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Enabled" @@ -2238,7 +2238,7 @@ msgstr "Select..." #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Loading..." @@ -2300,7 +2300,7 @@ msgstr "Filter by row validation status" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Complete" @@ -2450,8 +2450,8 @@ msgstr "Options" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Barcode Actions" @@ -2629,8 +2629,8 @@ msgid "Change" msgstr "Change" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Add" @@ -3034,7 +3034,7 @@ msgstr "Logout" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3203,7 +3203,7 @@ msgid "Attachments" msgstr "Attachments" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3516,17 +3516,17 @@ msgstr "Category" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3535,10 +3535,10 @@ msgid "Location" msgstr "Location" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3553,9 +3553,9 @@ msgstr "Serial Number" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3582,15 +3582,15 @@ msgstr "Quantity" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Batch" @@ -3861,7 +3861,7 @@ msgid "Note" msgstr "Note" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "Allocated Lines" @@ -3934,12 +3934,12 @@ msgstr "Show items which have a batch code" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3953,13 +3953,13 @@ msgstr "Filter items by batch code" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4165,8 +4165,8 @@ msgstr "Include results for part variants" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4175,7 +4175,7 @@ msgstr "Include results for part variants" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4298,7 +4298,7 @@ msgstr "Remove filter" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Value" @@ -4341,7 +4341,7 @@ msgid "Delete filter group" msgstr "Delete filter group" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Table Filters" @@ -4390,41 +4390,53 @@ msgstr "Error loading table data" msgid "View {model}" msgstr "View {model}" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "No items selected" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "1 selected item will be deleted" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "{N} selected items will be deleted" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Delete Selected Items" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Are you sure you want to delete the selected items?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "This action cannot be undone" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "Items deleted" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "Failed to delete items" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "Custom table filters are active" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Delete selected records" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Refresh data" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Active Filters" @@ -5636,7 +5648,7 @@ msgstr "Substitute added" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Build Output" @@ -5724,7 +5736,7 @@ msgstr "Select the source location for the stock allocation" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5873,7 +5885,7 @@ msgstr "This part is virtual, no physical stock will be received." #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Set Location" @@ -5890,13 +5902,13 @@ msgid "Set Expiry Date" msgstr "Set Expiry Date" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Adjust Packaging" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Change Status" @@ -5945,7 +5957,7 @@ msgid "Enter an expiry date for received items" msgstr "Enter an expiry date for received items" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6068,44 +6080,44 @@ msgstr "Add Stock Item" msgid "Select the part to install" msgstr "Select the part to install" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Installed Items" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "Automatic" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "This row cannot be removed as it has installed items" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "The following installed items will be uninstalled during disassembly" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "Custom location for the component items" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "Status for the component items" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "No location set" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "Additional Installed Items" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6113,12 +6125,12 @@ msgstr "The following items are installed within this stock item, but do not mat msgid "Component" msgstr "Component" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Unit Quantity" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6133,201 +6145,201 @@ msgstr "Unit Quantity" msgid "Unit Price" msgstr "Unit Price" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "Disassemble Stock Item" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "Stock item disassembled" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Confirm Stock Transfer" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "Confirm Stock Return" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Move to default location" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "Merge into existing stock" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Move" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Return" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "Merge returned items into existing stock items if possible" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "Stock transaction notes" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Count" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Add Stock" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Stock added" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Increase the quantity of the selected stock items by a given amount." -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Remove Stock" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Stock removed" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Decrease the quantity of the selected stock items by a given amount." -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Transfer Stock" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Stock transferred" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "Transfer selected items to the specified location." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "Return Stock" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "Stock returned" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "Return selected items into stock, to the specified location." -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Count Stock" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Stock counted" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "Count the selected stock items, and adjust the quantity accordingly." -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Change Stock Status" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Stock status changed" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "Change the status of the selected stock items." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "Change Batch Code" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "Change batch code for the selected stock items" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Merge Stock" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Stock merged" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "Merge Stock Items" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "Merge operation cannot be reversed" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "Tracking information may be lost when merging items" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "Supplier information may be lost when merging items" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Assign Stock to Customer" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Stock assigned to customer" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Delete Stock Items" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Stock deleted" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "This operation will permanently delete the selected stock items." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Parent stock location" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Find Serial Number" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "No matching items" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "Multiple matching items" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "Invalid response from server" @@ -8310,8 +8322,8 @@ msgstr "Child Build Orders" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Test Results" @@ -8946,7 +8958,7 @@ msgstr "Part parameters cannot be edited, as the part is locked" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Required" @@ -10068,7 +10080,7 @@ msgid "Stock Operations" msgstr "Stock Operations" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "Serialize" @@ -10774,12 +10786,12 @@ msgstr "Create Build Order" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "Allocating stock to build order" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "Stock allocation complete" @@ -10787,8 +10799,8 @@ msgstr "Stock allocation complete" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10810,8 +10822,8 @@ msgstr "Automatically allocate untracked BOM items to this build according to th #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "Deallocate Stock" @@ -10872,7 +10884,7 @@ msgstr "Show external build orders" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "Build Output Stock Allocation" @@ -10884,7 +10896,7 @@ msgstr "Build Output Stock Allocation" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "Automatically allocate tracked BOM items to this build according to the selected options" @@ -10892,49 +10904,49 @@ msgstr "Automatically allocate tracked BOM items to this build according to the #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Add Build Output" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "Build output created" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "Completing build outputs" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Build outputs have been completed" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "Scrapping build outputs" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Build outputs have been scrapped" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "Cancelling build outputs" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Build outputs have been cancelled" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "Edit Build Output" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "This action will deallocate all stock from the selected build output" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "Serialize Build Output" @@ -10942,69 +10954,69 @@ msgstr "Serialize Build Output" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Filter by stock status" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Complete selected outputs" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Scrap selected outputs" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Cancel selected outputs" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Allocate" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Allocate stock to build output" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Deallocate" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Deallocate stock from build output" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "Serialize build output" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Complete build output" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Scrap" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Scrap build output" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Cancel build output" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Required Tests" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "External Build" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "This build order is fulfilled by an external purchase order" @@ -11876,14 +11888,14 @@ msgstr "Filter by parts to which the user is subscribed" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Add Test Result" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Test result added" @@ -11896,7 +11908,7 @@ msgid "Test results added" msgstr "Test results added" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "No Result" @@ -12649,7 +12661,7 @@ msgstr "Endpoint" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Result" @@ -12842,7 +12854,7 @@ msgid "Task ID" msgstr "Task ID" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Started" @@ -13497,81 +13509,81 @@ msgstr "Order items" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Test result for installed stock item" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Attachment" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Test station" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Finished" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Edit Test Result" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Test result updated" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Delete Test Result" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Test result deleted" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Test Passed" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Test result has been recorded" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Failed to record test result" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Pass Test" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Show results for required tests" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Include Installed" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Show results for installed stock items" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Passed" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Show only passed tests" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "Show results for enabled tests" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index bcda85b633..636a9af602 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Eliminar" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Cancelar" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Acciones" @@ -157,15 +157,15 @@ msgstr "No" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Error" @@ -754,7 +754,7 @@ msgstr "" #: lib/hooks/MonitorDataOutput.tsx:75 msgid "Process completed successfully" -msgstr "" +msgstr "Proceso completado con éxito" #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "¿Eliminar la imagen asociada de este elemento?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Complementos" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Habilitado" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Cargando..." @@ -2305,7 +2305,7 @@ msgstr "Filtrar por estado de validación de fila" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Terminado" @@ -2455,8 +2455,8 @@ msgstr "Opciones" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Acciones de código de barras" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Añadir" @@ -3039,7 +3039,7 @@ msgstr "Cerrar sesión" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Archivos adjuntos" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Categoría" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Ubicación" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Número de serie" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Cantidad" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Lote" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Nota" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Filtrar elementos por código de lote" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Eliminar filtro" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Valor" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Filtros de tabla" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Borrar los elementos seleccionados" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "¿Confirma que desea eliminar los elementos seleccionados?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Esta acción no se puede deshacer" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "Los filtros personalizados de tabla están activos" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Eliminar los registros seleccionados" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Refrescar datos" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "Seleccione la ubicación de origen para la asignación de stock" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Establecer ubicación" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Establecer Fecha de Vencimiento" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Ajustar empaquetado" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Cambiar Estado" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Añadir artículo de stock" msgid "Select the part to install" msgstr "Selecciona la pieza a instalar" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Elementos instalados" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Componente" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "Precio Unitario" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Confirmar transferencia de existencias" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Mover a la ubicación predeterminada" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Mover" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Devolver" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Contar" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Agregar existencias" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Existencias añadidas" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Eliminar existencias" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Existencias eliminadas" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Transferir existencias" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Existencias transferidas" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Contar existencias" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Existencias contadas" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Cambiar estado de existencias" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Estado de existencias cambiado" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Juntar existencias" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Existencias fusionadas" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Asignar existencias a cliente" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Existencias asignadas a cliente" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Eliminar existencias" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Existencias eliminadas" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Ubicación del stock padre" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Resultados de la Prueba" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Requerido" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Operaciones de existencias" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "Serializar" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "Deshacer asignación de existencias" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "Adjudicación de existencias de salida de construcción" @@ -10889,7 +10901,7 @@ msgstr "Adjudicación de existencias de salida de construcción" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Salidas de Trabajo se han Completado" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Salidas de Construcción eliminadas" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Salidas de Construcción han sido canceladas" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "Editar salida de construcción" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "Esta acción desubicará todas las existencias de la salida de construcción seleccionada" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "Extremo" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/es_MX/messages.po b/src/frontend/src/locales/es_MX/messages.po index 4d7dd91966..74e1d3c37f 100644 --- a/src/frontend/src/locales/es_MX/messages.po +++ b/src/frontend/src/locales/es_MX/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es_MX\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Eliminar" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Cancelar" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Acciones" @@ -157,15 +157,15 @@ msgstr "No" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Error" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Exportar datos" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "¿Eliminar imagen asociada al artículo?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Complementos" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Habilitado" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Cargando..." @@ -2305,7 +2305,7 @@ msgstr "Filtrar por estado de validación de fila" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Completado" @@ -2455,8 +2455,8 @@ msgstr "Opciones" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Acciones de código de barras" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Cambiar" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Agregar" @@ -3039,7 +3039,7 @@ msgstr "Cerrar sesión" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Archivos adjuntos" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Categoría" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Ubicación" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Número de serie" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Cantidad" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Lote" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Nota" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Filtrar elementos por código de lote" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Eliminar filtro" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Valor" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Filtros de tabla" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Eliminar Elementos Seleccionados" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Esta acción no se puede deshacer" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "Los filtros personalizados de tabla están activos" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "Seleccione la ubicación de origen para la asignación de stock" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Establecer ubicación" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Establecer la fecha de caducidad" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Ajustar empaquetado" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Cambiar Estado" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Introduzca una fecha de caducidad para los artículos recibidos" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Añadir artículo de stock" msgid "Select the part to install" msgstr "Selecciona la pieza a instalar" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Componente" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "Precio Unitario" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Confirmar transferencia de existencias" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Mover a la ubicación predeterminada" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Mover" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Devolver" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Contar" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Agregar existencias" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Existencias añadidas" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Eliminar existencias" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Existencias eliminadas" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Transferir existencias" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Existencias transferidas" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Contar existencias" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Existencias contadas" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Cambiar estado de existencias" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Estado de existencias cambiado" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Juntar existencias" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Existencias fusionadas" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Asignar existencias a cliente" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Existencias asignadas a cliente" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Eliminar existencias" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Existencias eliminadas" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Ubicación del stock padre" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "Órdenes de Trabajo herederas" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Resultados de la prueba" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Requerido" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "Serializar" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "Desasignar existencias" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "Asignación de existencias de salida de construcción" @@ -10889,7 +10901,7 @@ msgstr "Asignación de existencias de salida de construcción" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Salidas de construcción se han completado" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Salidas de construcción eliminadas" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Las salidas de la construcción han sido canceladas" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "Editar salida de construcción" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "Esta acción desasignará todas las existencias de la salida de construcción seleccionada" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "Extremo" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "Mostrar resultados para las pruebas habilitadas" diff --git a/src/frontend/src/locales/et/messages.po b/src/frontend/src/locales/et/messages.po index fa48acd8f2..54ff289ba6 100644 --- a/src/frontend/src/locales/et/messages.po +++ b/src/frontend/src/locales/et/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: et\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Kustuta" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Tühista" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Toimingud" @@ -157,15 +157,15 @@ msgstr "Ei" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Tõrge" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Ekspordi andmed" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Kas soovite eemaldada seotud pildi sellest üksusest?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Pluginad" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Sisse lülitatud" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Laadimine..." @@ -2305,7 +2305,7 @@ msgstr "Filtreeri rea valideerimise oleku järgi" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Valmis" @@ -2455,8 +2455,8 @@ msgstr "Valikud" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Vöötkoodi Toimingud" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Muuda" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Lisa" @@ -3039,7 +3039,7 @@ msgstr "Logi välja" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Manused" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Kategooria" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Asukoht" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Seerianumber" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Kogus" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Partii" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Märkus" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "Näita üksusi, millel on partiikood" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Eemalda filter" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Väärtus" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Tabeli filtrid" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "Vaata {model}" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Kustutage valitud kirjed" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Kas olete kindel, et soovite kustutada valitud elemendid?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Kustutage valitud kirjed" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "Valige laoseisu eraldamise alguskoht" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Määra asukoht" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Muuda staatust" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Sisesta saabunud ühikute aegumise kuupäevad" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Komponent" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "Ühiku hind" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Liiguta" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Kogus" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "Osale osade parameetreid ei saa muuta, kuna osa on lukus" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Nõutud" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Ehitustulemused on valmis" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Ehitustulemused on tühistatud" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Ehitustulemused on tühistatud" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Valige valitud väljundid lõpule" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Tühistage valitud väljundid" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Võtke lao jääk, et luua väljund" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Võtke lao jääk väljundist" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "Filtreeri osade järgi, millele kasutaja on tellinud" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Lisa testi tulemus" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Testi tulemus lisatud" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Tulemus puudub" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Tulemus" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Paigaldatud varuüksuse testi tulemus" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Manus" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Testijaam" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Lõpetatud" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Muuda testi tulemust" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Testi tulemus uuendatud" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Kustuta testi tulemus" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Testi tulemus kustutatud" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Test läbitud" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Testi tulemus on salvestatud" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Testi tulemuse salvestamine ebaõnnestus" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Läbige test" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Näita kohustuslike testide tulemusi" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Kaasa paigaldatud" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Näita paigaldatud varude tulemusi" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Läbitud" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Näita ainult läbitud teste" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index d62f56c627..465f6ad0b7 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fa\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "" @@ -157,15 +157,15 @@ msgstr "" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "" @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "" @@ -3039,7 +3039,7 @@ msgstr "" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index 788bb8c211..1ecf210229 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "" @@ -157,15 +157,15 @@ msgstr "" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "" @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "" @@ -3039,7 +3039,7 @@ msgstr "" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index a76f43f6ef..289201154f 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -82,20 +82,20 @@ msgstr "Supprimer" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Annuler" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Actions" @@ -157,15 +157,15 @@ msgstr "Non" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Erreur" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Export des données" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Supprimer l'image associée de cet élément ?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Extensions" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Activé" @@ -2243,7 +2243,7 @@ msgstr "Sélectionner..." #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Chargement..." @@ -2305,7 +2305,7 @@ msgstr "Filtrer par état de validation de ligne" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Complet" @@ -2455,8 +2455,8 @@ msgstr "Options" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Actions de code-barres" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Modifier" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Ajouter" @@ -3039,7 +3039,7 @@ msgstr "Se déconnecter" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Fichiers joints" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Catégorie" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Emplacement" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Numéro de série" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Quantité" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Lot" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Note" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "Lignes allouées" @@ -3939,12 +3939,12 @@ msgstr "Afficher les articles ayant un code de lot" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Filtrer les articles par code de lot" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "Inclure les résultats pour les variations de pièces" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "Inclure les résultats pour les variations de pièces" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Supprimer le filtre" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Valeur" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Filtres des tables" @@ -4395,41 +4395,53 @@ msgstr "Impossible de charger le tableau de données" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Supprimer les éléments sélectionnés" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Êtes-vous sûr de vouloir supprimer les éléments sélectionnés ?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Cette action ne peut pas être annulée" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "Articles supprimés" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "Echecs pour supprimer les articles" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "Filtre de tableau personnalisés sont activés" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Supprimer les enregistrements sélectionnés" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Actualiser les données" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Filtres actifs" @@ -5641,7 +5653,7 @@ msgstr "Alternative ajoutée" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Sortie de la construction" @@ -5729,7 +5741,7 @@ msgstr "Sélectionnez l'emplacement de la source pour l'allocation du stock" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Définir l'emplacement" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Indiquer une date d'expiration" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Ajuster le conditionnement" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Changer le statut" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Entrer une date d'expiration pour les articles reçus" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Ajouter un article en stock" msgid "Select the part to install" msgstr "Sélectionnez la partie à installer" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Articles installés" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Composant" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Quantité unitaire" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "Quantité unitaire" msgid "Unit Price" msgstr "Prix unitaire" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Confirmer le transfert des stock" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Déplacer vers l'emplacement par défaut" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Déplacer" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Retour" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Compter" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Ajouter du stock" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Stock ajouté" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Augmenter le nombre des articles en stock sélectionnés d'une quantité donnée." -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Supprimer du stock" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Stock retiré" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Réduire le nombre des articles en stock sélectionnés d'une quantité donnée." -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Transférer le stock" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Stock transféré" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "Transférer les articles sélectionnés vers l'endroit spécifié." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "Remettre en stock" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "Remis en stock" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "Remettre les articles sélectionnés en stock, à l'endroit spécifié." -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Compter le stock" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Stock compté" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "Compter les articles en stock sélectionnés et ajuster la quantité." -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Changer l'état du stock" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Statut du stock changé" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "Changer le status des articles en stock sélectionnés." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Fusionner le stock" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Stock fusionné" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "Fusionner les articles en stock" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "L'opération de fusion ne permet pas de retour en arrière" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "Les informations de suivi pourraient être perdues lors de la fusion des articles" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "Les informations du fournisseur pourraient être perdues lors de la fusion des articles" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Lier un stock à un client" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Stock lié au client" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Supprimer l'article du stock" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Stock supprimé" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "Cette opération va supprimer définitivement les articles en stock sélectionnés." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Localisation Parente du stock" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Trouver le numéro de série" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "Pas d'article correspondant" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "Plusieurs articles correspondent" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "Réponse invalide du serveur" @@ -8315,8 +8327,8 @@ msgstr "Ordre de fabrication enfant" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Résultats des Tests" @@ -8951,7 +8963,7 @@ msgstr "Les paramètres de la partie ne peuvent pas être modifiés, car la part #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Requis" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Opérations sur le stock" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "Sérialiser" @@ -10779,12 +10791,12 @@ msgstr "Créer un ordre de fabrication" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "Désallouer le stock" @@ -10877,7 +10889,7 @@ msgstr "Voir les ordres de fabrication externes" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "Allocation du stock de sortie de construction" @@ -10889,7 +10901,7 @@ msgstr "Allocation du stock de sortie de construction" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Ajouter une sortie de construction" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "Sorties de fabrication créées" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Les fabrication ont été achevé" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Les résultats de construction ont été supprimé" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Les résultats de construction ont été annulés" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "Modifier une sortie de construction" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "Cette action désaffecte tous les stocks de la production sélectionnée" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "Sérialiser la sortie de fabrication" @@ -10947,69 +10959,69 @@ msgstr "Sérialiser la sortie de fabrication" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Filtrer par état du stock" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Compléter les sorties sélectionnées" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Mise au rebut des sorties sélectionnées" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Annuler les sorties sélectionnées" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Allouer" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Allouer des stock à la sortie de construction" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Désallouer" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Désallouer le stock de la sortie de la construction" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "Sérialiser la sortie de fabrication" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Résultats complets de la construction" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Rébut" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Sortie de la construction de la ferraille" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Annuler la sortie de la construction" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Tests requis" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "Fabrication extérieure" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "Cet ordre de fabrication est satisfait par un ordre d'achat externe" @@ -11881,14 +11893,14 @@ msgstr "Filtrer par pièces auxquelles l'utilisateur est abonné" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Ajouter les résultats des tests" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Résultats des tests ajoutés" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "Résultats de test ajoutés" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Aucun résultat" @@ -12654,7 +12666,7 @@ msgstr "Point de terminaison" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Résultat" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "ID de tâche" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Commencé" @@ -13502,81 +13514,81 @@ msgstr "Trier les articles" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Résultat de test pour l'article installé" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Pièce jointe" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Station de test" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Terminé" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Modifier le résultat du test" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Résultat du test mis à jour" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Supprimer le résultat du test" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Résultat du test supprimé" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Test validé" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Le résultat du test a été enregistré" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Échec de l'enregistrement du résultat du test" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Réussir le test" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Afficher les résultats pour les tests requis" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Inclusions installées" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Afficher les résultats pour les articles installés" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Réussi" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Montrer uniquement les tests réussis" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "Afficher les résultats pour les tests activés" diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index cd35dba0d4..af7ff55e0f 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: he\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\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" @@ -82,20 +82,20 @@ msgstr "מחק" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "בטל" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "" @@ -157,15 +157,15 @@ msgstr "לא" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "שגיאה" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "האם להסיר את התמונה המשויכת מפריט זה?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "תוספים" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "" @@ -2305,7 +2305,7 @@ msgstr "סנן לפי סטטוס אימות שורה" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "הושלם" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "פעולות ברקוד" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "" @@ -3039,7 +3039,7 @@ msgstr "התנתק" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "מספר סידורי" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "כמות" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index 363e17205e..2ecd1255e6 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "" @@ -157,15 +157,15 @@ msgstr "" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "" @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "" @@ -3039,7 +3039,7 @@ msgstr "" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index a06aaceca4..989ea3f03d 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hu\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Törlés" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Mégsem" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Műveletek" @@ -157,15 +157,15 @@ msgstr "Nem" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Hiba" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Adatok exportálása" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Tételhez rendelt kép eltávolítása?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Pluginok" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Engedélyezve" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Betöltés..." @@ -2305,7 +2305,7 @@ msgstr "Szűrés sor ellenőrzési állapot szerint" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Kész" @@ -2455,8 +2455,8 @@ msgstr "Opciók" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Vonalkód műveletek" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Módosítás" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Hozzáadás" @@ -3039,7 +3039,7 @@ msgstr "Kijelentkezés" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Mellékletek" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Kategória" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Hely" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Sorozatszám" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Mennyiség" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Köteg" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Megjegyzés" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "Lefoglalt sorok" @@ -3939,12 +3939,12 @@ msgstr "Batch kóddal rendelkező tételek megjelenítése" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Tételek szűrése batch kód szerint" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "Alkatrész változatok eredményeinek bevonása" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "Alkatrész változatok eredményeinek bevonása" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Szűrő eltávolítása" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Érték" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Táblázat szűrők" @@ -4395,41 +4395,53 @@ msgstr "Hiba a táblázat adatok betöltésekor" msgid "View {model}" msgstr "{model} megtekintése" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Kiválasztott elemek törlése" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Biztosan törölni kívánja a kiválasztott tételeket?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Ez a művelet nem vonható vissza" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "Elemek törölve" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "Nem sikerült törölni a tételeket" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "Egyéni táblázat szűrők aktívak" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Kiválasztott rekordok törlése" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Adatok frissítése" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Aktív Szűrők" @@ -5641,7 +5653,7 @@ msgstr "Helyettesítő hozzáadva" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Gyártás kimenet" @@ -5729,7 +5741,7 @@ msgstr "A készlet hozzárendelés forrás készlethelyének kiválasztása" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Helyszín beállítása" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Lejárati dátum beállítása" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Csomagolás módosítása" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Állapot megváltoztatása" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Lejárati dátum megadása a fogadott tételekhez" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Új készlet tétel" msgid "Select the part to install" msgstr "Válassza ki a telepítendő alkatrészt" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Beépített tételek" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Összetevő" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Mennyiségi egység" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "Mennyiségi egység" msgid "Unit Price" msgstr "Egységár" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Mozgatás megerősítése" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Mozgatás az alapértelmezett helyre" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Áthelyezés" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Visszavétel" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Mennyiség" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Készlethez ad" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Raktárkészlet hozzáadva" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Kiválasztott készlettételek mennyiségének növelése adott értékkel." -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Készlet csökkentése" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Készlet eltávolítva" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Kiválasztott készlettételek mennyiségének csökkentése adott értékkel." -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Készlet áthelyezése" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Készlet áthelyezve" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "Kiválasztott tétele mozgatása a meghatározott készlethelyre." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "Visszavételi készlet" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "Készlet visszavéve" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "Kiválasztott tételek visszavétele készletre a megadott helyre." -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Leltározás" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Készlet számlálva" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "Számolja meg a kiválasztott készlet tételeket és módosítsa a mennyiséget ennek megfelelően." -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Készlet állapot módosítása" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Készlet státusz megváltozott" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "A kiválasztott készlet tételek státuszának módosítása." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Készlet összevonása" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Készlet összevonva" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "Készlet tételek összevonása" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "Az összevonási művelet nem visszafordítható" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "Nyomonkövetési információk elveszhetnek tételek összevonásakor" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "Beszállítói információk elveszhetnek tételek összevonásakor" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Készlet hozzárendelése ügyfélhez" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Készlet hozzárendelve az ügyfélhez" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Készlet tétel törlése" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Készlet törölve" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "Ez a művelet véglegesen törli a kiválasztott készlet tételeket." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Szülő készlet hely" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Sorozatszám keresése" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "Nincs egyező tétel" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "Több egyező tétel" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "Érvénytelen válasz a szervertől" @@ -8315,8 +8327,8 @@ msgstr "Alárendelt gyártások" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Teszt eredmények" @@ -8951,7 +8963,7 @@ msgstr "Az alkatrész paraméterek nem szerkeszthetők, mivel az alkatrész zár #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Kötelező" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Készlet műveletek" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "Sorozatszámozás" @@ -10779,12 +10791,12 @@ msgstr "Gyártási rendelés létrehozása" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "Foglalás feloldása" @@ -10877,7 +10889,7 @@ msgstr "Külső gyártási megrendelések megjelenítése" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "Gyártási kimenet készlet foglalás" @@ -10889,7 +10901,7 @@ msgstr "Gyártási kimenet készlet foglalás" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Gyártási kimenet hozzáadása" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "Gyártási kimenet létrehozva" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "A gyártási kimenetek befejezésre kerültek" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "A gyártási kimenetek selejtezésre kerültek" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "A gyártási kimenetek visszavonásra kerültek" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "Gyártási kimenet szerkesztése" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "Ez a művelet felszabadít minden készletet a kiválasztott gyártási kimenetből" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "Gyártási kimenet sorozatszámozása" @@ -10947,69 +10959,69 @@ msgstr "Gyártási kimenet sorozatszámozása" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Szűrés készlet státusz szerint" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Kiválasztott kimenetek befejezése" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Kiválasztott kimenetek selejtezése" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Kiválasztott kimenetek visszavonása" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Lefoglalva" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Készlet foglalása a gyártási kimenethez" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Foglalás felszabadítása" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Készlet felszabadítása a gyártási kimenetből" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "Gyártási kimenet sorozatszámozása" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Gyártási kimenet befejezése" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Selejt" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Gyártási kimenet selejtezése" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Gyártási kimenet visszavonása" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Szükséges tesztek" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "Külső gyártás" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "Ez a gyártási rendelés külső beszerzési rendeléssel teljesül" @@ -11881,14 +11893,14 @@ msgstr "Szűrés feliratkozott alkatrészekre" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Teszt eredmény hozzáadása" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Teszt eredmény feltöltve" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "Teszt eredmények feltöltve" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Nincs eredmény" @@ -12654,7 +12666,7 @@ msgstr "Végpont" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Eredmény" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "Feladat ID" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Indítva" @@ -13502,81 +13514,81 @@ msgstr "Megrendelés tételei" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Teszt" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Teszt eredmény a beépített készlet tételhez" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Melléklet" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Tesztállomás" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Befejezve" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Teszt eredmény szerkesztése" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Teszt eredmény frissítve" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Teszt eredmény törlése" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Teszt eredmény törölve" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Teszten megfelelt" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Teszt eredmény rögzítve lett" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Teszt eredmény rögzítése sikertelen" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Teszt sikeres" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Kötelező tesztek eredményeinek megjelenítése" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Beépítettek beleértve" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Beépített készlet tételek eredményeinek megjelenítése" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Megfelelt" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Csak a megfelelt tesztek megjelenítése" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "Engedélyezett tesztek eredményeinek megjelenítése" diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po index 5ac60f0ee8..dd15ace9c3 100644 --- a/src/frontend/src/locales/id/messages.po +++ b/src/frontend/src/locales/id/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: id\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -82,20 +82,20 @@ msgstr "Hapus" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Batal" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "" @@ -157,15 +157,15 @@ msgstr "Tidak" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Galat" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Memuat..." @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Lengkap" @@ -2455,8 +2455,8 @@ msgstr "Pilihan" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Tambah" @@ -3039,7 +3039,7 @@ msgstr "" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Lokasi" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Nomor Seri" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Jumlah" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Catatan" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Atur Lokasi" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "Harga Per buah" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index 396f55370a..f5ca3f688c 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: it\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Elimina" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Annulla" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Azioni" @@ -157,15 +157,15 @@ msgstr "No" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Errore" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Rimuovi l'immagine associata all'articolo?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Plugin" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Abilitato" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Caricamento..." @@ -2305,7 +2305,7 @@ msgstr "Filtra per stato di convalida della riga" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Completato" @@ -2455,8 +2455,8 @@ msgstr "Opzioni" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Azioni Codice A Barre" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Cambiare" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Aggiungi" @@ -3039,7 +3039,7 @@ msgstr "Disconnettiti" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Allegati" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Categoria" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Posizione" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Numero Seriale" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Quantità" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Lotto" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Nota" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "Elementi Assegnati" @@ -3939,12 +3939,12 @@ msgstr "Mostra gli articoli che hanno un codice lotto" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Filtra gli articoli per codice lotto" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "Includi i risultati per le varianti dell'articolo" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "Includi i risultati per le varianti dell'articolo" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Rimuovi filtro" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Valore" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Filtri tabella" @@ -4395,41 +4395,53 @@ msgstr "Errore nel caricare i dati della tabella" msgid "View {model}" msgstr "Visualizza {model}" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Elimina elementi selezionati" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Sei sicuro di voler eliminare gli elementi selezionati?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Questa azione non può essere annullata" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "Elementi eliminati" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "Eliminazione degli elementi non riuscita" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "I filtri tabella personalizzati sono attivi" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Cancella record selezionati" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Ricarica dati" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Filtri attivi" @@ -5641,7 +5653,7 @@ msgstr "Sostitutivo aggiunto" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Output produzione" @@ -5729,7 +5741,7 @@ msgstr "Selezionare la posizione di origine per l'assegnazione dello stock" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Imposta Posizione" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Impostare una Data di Scadenza" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Regola Imballaggio" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Modifica Stato" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Inserisci una data di scadenza per gli articoli ricevuti" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Aggiungi Elemento Magazzino" msgid "Select the part to install" msgstr "Selezionare l'articolo da installare" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Articoli installati" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Componente" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Quantità Unità" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "Quantità Unità" msgid "Unit Price" msgstr "Prezzo Unitario" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Conferma trasferimento" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Sposta nella posizione predefinita" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Sposta" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Reso" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Conta" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Aggiungi Giacenza" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Scorte aggiunte" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Aumenta la quantità degli articoli di magazzino selezionati di una data quantità." -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Rimuovi giacenza" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Scorte rimosse" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Diminuisce la quantità degli articoli di magazzino selezionati di una data quantità." -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Trasferisci giacenza" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Scorte trasferite" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "Trasferisci gli elementi selezionati nella posizione specificata." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "Restituisci Elemento a Magazzino" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "Reso a magazzino effettuato" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "Restituisce gli articoli selezionati in magazzino, nella posizione specificata." -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Conteggio Giacenze" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Scorte contate" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "Contare gli articoli di magazzino selezionati e regolare la quantità di conseguenza." -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Modifica stato giacenze" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Stato delle scorte cambiato" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "Cambia lo stato degli articoli a magazzino selezionati." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Unisci giacenze" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Scorte unite" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "Unisci gli articoli di magazzino" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "L'operazione di unione non è reversibile" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "Le informazioni di tracciamento potrebbero essere perse durante l'unione degli articoli" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "Le informazioni sul fornitore potrebbero essere perse durante l'unione degli articoli" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Assegnare la scorta al cliente" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Scorte assegnate al cliente" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Cancella Elemento di Magazzino" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Scorte cancellate" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "Questa operazione eliminerà definitivamente gli articoli a magazzino selezionati." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Posizione giacenza principale" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Trova Numero Di Serie" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "Nessun articolo corrispondente trovato" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "Più elementi corrispondenti trovati" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "Risposta non valida dal server" @@ -8315,8 +8327,8 @@ msgstr "Ordine di Produzione Subordinato" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Risultati Test" @@ -8951,7 +8963,7 @@ msgstr "I parametri dell'articolo non possono essere modificati, poiché l'artic #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Richiesto" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Operazioni Scorte" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "Serializza" @@ -10779,12 +10791,12 @@ msgstr "Crea Ordine di Produzione" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "Disassegna Stock" @@ -10877,7 +10889,7 @@ msgstr "Mostra ordini di produzione esterni" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "Assegnazione stock output di produzione" @@ -10889,7 +10901,7 @@ msgstr "Assegnazione stock output di produzione" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Nuova Produzione" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "Ordine di produzione creato" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Gli ordini di produzione sono stati completati" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Gli output di produzione sono stati rimossi" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Gli output di produzione sono stati cancellati" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "Modifica Output di Produzione" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "Questa azione disallocherà tutto lo stock dall'output di produzione selezionato" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "Serializza ordine di produzione" @@ -10947,69 +10959,69 @@ msgstr "Serializza ordine di produzione" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Filtra per stato delle scorte" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Completa la produzione selezionata" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Scarta gli output selezionati" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Annulla gli output selezionati" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Assegna" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Assegna gli elementi di magazzino a questo output di produzione" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Dealloca" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Non assegnare stock all'output di produzione" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "Serializza ordine di produzione" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Completa output di produzione" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Scarta" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Scarta gli ordini di produzione" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Cancella gli ordini di produzione" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Test Richiesti" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "Produzione Esterna" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "Questo ordine di produzione viene evaso tramite un ordine di acquisto esterno" @@ -11881,14 +11893,14 @@ msgstr "Filtra per articoli a cui l'utente è iscritto" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Aggiungi risultato test" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Risultato del test aggiunto" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "Risultato dei test aggiunti" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Nessun risultato" @@ -12654,7 +12666,7 @@ msgstr "Endpoint" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Risultato" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "ID Attività" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Avviato" @@ -13502,81 +13514,81 @@ msgstr "Ordina gli articoli" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Risultato del test per l'articolo di magazzino installato" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Allegato" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Stazione di prova" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Finito" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Modifica risultato del test" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Risultato del test aggiornato" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Cancellare il risultato del test" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Risultato del test eliminato" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Test superato" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Il risultato del test è stato registrato" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Impossibile registrare il risultato del test" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Test Passato" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Mostra i risultati per i test richiesti" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Includi Elementi Installati" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Mostra risultati per gli articoli a magazzino" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Superato" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Mostra solo i test superati" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "Mostra i risultati per i test abilitati" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 98c5807e7c..141c332871 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ja\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -82,20 +82,20 @@ msgstr "削除" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "キャンセル" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "アクション" @@ -157,15 +157,15 @@ msgstr "いいえ" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "選択エントリ" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "選択エントリ" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "エラー" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "カレンダーを更新" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "データのエクスポート" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "このアイテムから関連画像を削除しますか?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "プラグイン" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "有効" @@ -2243,7 +2243,7 @@ msgstr "選択…" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "読み込み中…" @@ -2305,7 +2305,7 @@ msgstr "行の検証ステータスによるフィルタリング" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "完了" @@ -2455,8 +2455,8 @@ msgstr "オプション" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "バーコードアクション" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "変更" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "追加" @@ -3039,7 +3039,7 @@ msgstr "ログアウト" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "添付ファイル" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "カテゴリ" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "場所" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "シリアル番号" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "数量" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "スクール機能" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "備考" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "割り当てライン" @@ -3939,12 +3939,12 @@ msgstr "バッチコードを持つアイテムを表示" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "バッチコードによるアイテムのフィルタリング" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "部品のバリエーションの結果を含めてください" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "部品のバリエーションの結果を含めてください" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "フィルタを削除" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "値" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "フィルターグループを削除" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "テーブルフィルター" @@ -4395,41 +4395,53 @@ msgstr "テーブルデータの読み込み中にエラーが発生しました msgid "View {model}" msgstr "{model}を表示" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "選択したアイテムを削除" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "選択したアイテムを削除しますか?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "この操作は元に戻せません。" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "削除されたアイテム" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "アイテムの削除に失敗しました" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "カスタムテーブルフィルターが有効" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "選択したレコードの削除" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "データを更新する" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "適用中のフィルター" @@ -5641,7 +5653,7 @@ msgstr "代替品を追加した" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "ビルド出力" @@ -5729,7 +5741,7 @@ msgstr "在庫配分のソースの場所を選択します。" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "この部品は仮想のため、物理在庫は入庫されません" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "セット場所" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "有効期限の設定" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "パッケージの調整" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "ステータスを変更" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "受け取った商品の有効期限を入力してください。" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "在庫商品の追加" msgid "Select the part to install" msgstr "取り付ける部品の選択" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "設置項目" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "コンポーネント" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "単位 数量" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "単位 数量" msgid "Unit Price" msgstr "単価" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "株式譲渡の確認" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "返品を確認" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "デフォルトの場所に移動" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "既存の在庫にマージ" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "移動" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "戻る" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "可能であれば、返品された部品を既存の在庫部品に統合する" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "在庫トランザクションノート" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "カウント" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "在庫追加" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "在庫追加" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "選択された在庫品の数量を、指定された数量だけ増やします。" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "在庫の削除" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "在庫一掃" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "選択された在庫品の数量を、指定された数量分だけ減らします。" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "株式譲渡" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "株式譲渡" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "選択されたアイテムを指定された場所に移動します。" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "在庫戻し" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "在庫が戻りました" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "選択された商品を、指定された場所へ在庫に戻してください。" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "在庫数" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "在庫数" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "選択された在庫品目を数え、それに応じて数量を調整してください。" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "在庫状況の変更" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "在庫状況の変更" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "選択された在庫品のステータスを変更します。" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "バッチコードを変更" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "選択した在庫品のバッチコードを変更します" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "株式の併合" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "株式併合" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "在庫品を合算する" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "合算操作は元に戻せません" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "在庫品を合算する際、追跡情報が失われる可能性があります。" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "在庫品を合算する際、サプライヤー情報が失われる可能性があります。" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "顧客への在庫割り当て" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "顧客に割り当てられた在庫" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "在庫アイテムの削除" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "ストック削除" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "この操作により、選択された在庫品目が完全に削除されます。" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "親株式所在地" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "シリアル番号を探す" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "該当する品目はありません" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "複数の品目が見つかりました" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "サーバーからの応答が無効です" @@ -8315,8 +8327,8 @@ msgstr "チャイルド・ビルド・オーダー" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "テストの結果" @@ -8951,7 +8963,7 @@ msgstr "パートがロックされているため、パートパラメータを #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "必須" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "株式運用" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "シリアライズ" @@ -10779,12 +10791,12 @@ msgstr "ビルドオーダーの作成" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "ビルドオーダーに在庫を引き当て中" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "在庫の引き当てが完了しました" @@ -10792,8 +10804,8 @@ msgstr "在庫の引き当てが完了しました" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "選択したオプションに従って、非追跡対象のBOM項目を #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "在庫処分" @@ -10877,7 +10889,7 @@ msgstr "外部ビルドオーダーを表示します" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "生産量ストック配分" @@ -10889,7 +10901,7 @@ msgstr "生産量ストック配分" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "選択したオプションに従って、追跡対象のBOM項目をこのビルドに自動的に割り当てます" @@ -10897,49 +10909,49 @@ msgstr "選択したオプションに従って、追跡対象のBOM項目をこ #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "ビルド出力の追加" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "ビルド出力が作成されました" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "成果物を完了しています" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "ビルドアウトプット完了" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "成果物を廃棄しています" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "ビルド出力は廃止" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "成果物をキャンセルしています" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "ビルドアウトプットはキャンセルされました" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "ビルド出力の編集" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "このアクションは、選択されたビルド出力からすべてのストックを割り当て解除します。" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "ビルド出力にシリアル番号を付与します" @@ -10947,69 +10959,69 @@ msgstr "ビルド出力にシリアル番号を付与します" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "在庫状況で絞り込む" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "選択された出力の完了" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "選択した出力のスクラップ" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "選択した出力のキャンセル" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "割り当て" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "生産量を増やすための在庫配分" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "デアロケート" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "ビルド出力から在庫を割り当て解除" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "ビルド出力にシリアル番号を付与します" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "完全なビルド出力" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "スクラップ" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "スクラップビルド出力" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "ビルド出力のキャンセル" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "必須試験" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "外部ビルド" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "このビルドオーダーは、外部の購入発注書によって完了します" @@ -11881,14 +11893,14 @@ msgstr "ユーザーが購読しているパートによるフィルタリング #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "テスト結果の追加" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "テスト結果追加" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "テスト結果を追加しました" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "結果なし" @@ -12654,7 +12666,7 @@ msgstr "エンドポイント" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "結果" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "タスクID" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "開始" @@ -13502,81 +13514,81 @@ msgstr "注文アイテム" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "テスト" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "ストック品装着時のテスト結果" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "添付ファイル" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "テストステーション" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "修了済み" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "テスト結果の編集" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "テスト結果更新" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "テスト結果の削除" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "テスト結果削除" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "テスト合格" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "検査結果が記録されました" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "試験結果の記録に失敗" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "パステスト" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "必要なテストの結果を表示" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "インストール済み" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "インストールされているストックアイテムの結果を表示" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "合格" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "合格したテストのみを表示" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "有効化されたテストの結果を表示" diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index b1c09f9f6a..23c1d183fd 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -82,20 +82,20 @@ msgstr "삭제" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "취소" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "작업" @@ -157,15 +157,15 @@ msgstr "아니요" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "선택 항목" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "선택 항목" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "오류" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "캘린더 새로고침" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "1" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "이 항목에 연결된 이미지를 제거하시겠습니까?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "플러그인" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "활성화됨" @@ -2243,7 +2243,7 @@ msgstr "선택..." #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "불러오는 중..." @@ -2305,7 +2305,7 @@ msgstr "행 검증 상태로 필터링" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "완벽한" @@ -2455,8 +2455,8 @@ msgstr "옵션" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "바코드 작업" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "변화" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "추가하다" @@ -3039,7 +3039,7 @@ msgstr "로그아웃" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "첨부파일" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "카테고리" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "위치" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "시리얼 번호" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "수량" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "일괄" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "메모" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "할당된 항목" @@ -3939,12 +3939,12 @@ msgstr "배치 코드가 있는 항목 표시" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "배치 코드로 항목 필터링" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "부품 변형 결과 포함" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "부품 변형 결과 포함" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "필터 제거" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "값" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "필터 그룹 삭제" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "테이블 필터" @@ -4395,41 +4395,53 @@ msgstr "테이블 데이터를 불러오는 중 오류 발생" msgid "View {model}" msgstr "<<<모델>>> 보기" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "선택한 항목 삭제" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "선택한 항목을 삭제하시겠습니까?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "이 작업은 취소할 수 없습니다." -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "삭제된 항목" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "항목을 삭제하지 못했습니다." -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "맞춤 표 필터가 활성화되었습니다." -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "선택한 기록 삭제" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "데이터 새로 고침" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "활성 필터" @@ -5641,7 +5653,7 @@ msgstr "대체 부품이 추가되었습니다" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "생산 결과물" @@ -5729,7 +5741,7 @@ msgstr "재고 할당의 원본 위치를 선택하세요" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "이 부품은 가상이므로 실제 재고가 입고되지 않습니다 #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "위치 설정" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "만료일 설정" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "포장 조정" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "상태 변경" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "입고된 항목의 만료일을 입력하세요" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "재고 품목 추가" msgid "Select the part to install" msgstr "설치할 부품 선택" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "설치된 항목" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "요소" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "단위 수량" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "단위 수량" msgid "Unit Price" msgstr "단가" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "재고 이전 확인" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "재고 반품 확인" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "기본 위치로 이동" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "기존 재고에 병합" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "이동하다" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "반품" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "가능한 경우 반품된 항목을 기존 재고 항목에 병합" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "재고 트랜잭션 메모" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "실사" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "재고 추가" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "재고 추가됨" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "선택한 재고 품목의 수량을 지정한 만큼 늘립니다" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "재고 차감" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "재고가 차감되었습니다" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "선택한 재고 품목의 수량을 지정한 만큼 줄입니다" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "재고 이전" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "재고양도" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "선택한 항목을 지정한 위치로 이동합니다" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "재고 반환" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "재고가 반환되었습니다" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "선택한 항목을 지정한 위치의 재고로 반환합니다" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "재고 수량" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "재고 계산" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "선택한 재고 품목을 실사하고 수량을 그에 맞게 조정합니다" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "재고현황 변경" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "재고 상태가 변경되었습니다." -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "선택한 재고 품목의 상태를 변경합니다" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "배치 코드 변경" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "선택한 재고 품목의 배치 코드를 변경합니다" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "재고 병합" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "재고 병합" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "재고 품목 병합" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "병합 작업은 되돌릴 수 없습니다." -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "항목을 병합하면 추적 정보가 손실될 수 있습니다." -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "품목을 병합하면 공급업체 정보가 손실될 수 있습니다." -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "고객에게 재고 할당" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "고객에게 할당된 재고" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "재고 품목 삭제" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "재고가 삭제되었습니다." -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "이 작업은 선택한 재고 품목을 영구적으로 삭제합니다" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "모재 위치" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "일련번호 찾기" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "일치하는 항목이 없습니다." -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "일치하는 항목이 여러 개 있습니다" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "서버의 응답이 올바르지 않습니다" @@ -8315,8 +8327,8 @@ msgstr "하위 생산 주문" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "테스트 결과" @@ -8951,7 +8963,7 @@ msgstr "부품이 잠겨 있어 파라미터를 편집할 수 없습니다" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "필요" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "재고 운영" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "일련번호 지정" @@ -10779,12 +10791,12 @@ msgstr "생산 주문 생성" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "생산 주문에 재고 할당 중" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "재고 할당이 완료되었습니다" @@ -10792,8 +10804,8 @@ msgstr "재고 할당이 완료되었습니다" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "선택한 옵션에 따라 추적되지 않는 BOM 항목을 이 생산 #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "재고 할당 해제" @@ -10877,7 +10889,7 @@ msgstr "외부 생산 주문 표시" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "생산 결과물 재고 할당" @@ -10889,7 +10901,7 @@ msgstr "생산 결과물 재고 할당" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "선택한 옵션에 따라 추적되는 BOM 항목을 이 생산에 자동 할당합니다" @@ -10897,49 +10909,49 @@ msgstr "선택한 옵션에 따라 추적되는 BOM 항목을 이 생산에 자 #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "생산 결과물 추가" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "생산 결과물이 생성되었습니다" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "빌드 출력 완료 처리 중" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "생산 결과물이 완료되었습니다" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "빌드 출력 폐기 처리 중" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "생산 결과물이 폐기되었습니다" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "빌드 출력 취소 처리 중" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "생산 결과물이 취소되었습니다" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "생산 결과물 편집" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "이 작업은 선택한 생산 결과물의 모든 재고 할당을 해제합니다" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "생산 결과물 일련번호 지정" @@ -10947,69 +10959,69 @@ msgstr "생산 결과물 일련번호 지정" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "재고 상태로 필터링" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "선택한 결과물 완료" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "선택한 결과물 폐기" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "선택한 결과물 취소" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "할당하다" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "생산 결과물에 재고 할당" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "할당 해제" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "생산 결과물에서 재고 할당 해제" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "생산 결과물 일련번호 지정" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "생산 결과물 완료" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "권투 시합" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "생산 결과물 폐기" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "생산 결과물 취소" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "필수 테스트" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "외부 생산" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "이 생산 주문은 외부 발주서로 이행됩니다" @@ -11881,14 +11893,14 @@ msgstr "사용자가 구독한 부품으로 필터링" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "테스트 결과 추가" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "테스트 결과가 추가되었습니다" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "테스트 결과가 추가되었습니다" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "결과 없음" @@ -12654,7 +12666,7 @@ msgstr "엔드포인트" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "결과" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "작업 ID" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "시작됨" @@ -13502,81 +13514,81 @@ msgstr "주문 항목" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "시험" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "설치된 재고 품목의 테스트 결과" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "부착" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "테스트 스테이션" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "완성된" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "테스트 결과 편집" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "테스트 결과가 업데이트되었습니다." -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "테스트 결과 삭제" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "테스트 결과가 삭제되었습니다." -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "테스트 통과" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "테스트 결과가 기록되었습니다" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "테스트 결과 기록에 실패했습니다" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "테스트 통과" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "필수 테스트 결과 표시" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "설치된 항목 포함" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "설치된 재고 품목의 결과 표시" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "합격" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "통과한 테스트만 표시" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "활성화된 테스트 결과 표시" diff --git a/src/frontend/src/locales/lt/messages.po b/src/frontend/src/locales/lt/messages.po index 502b8ef60d..76b57b64ce 100644 --- a/src/frontend/src/locales/lt/messages.po +++ b/src/frontend/src/locales/lt/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: lt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && (n%100>19 || n%100<11) ? 0 : (n%10>=2 && n%10<=9) && (n%100>19 || n%100<11) ? 1 : n%1!=0 ? 2: 3);\n" @@ -82,20 +82,20 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "" @@ -157,15 +157,15 @@ msgstr "Ne" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Klaida" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "" @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "" @@ -3039,7 +3039,7 @@ msgstr "" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po index 1d6d11957b..98fd46fb80 100644 --- a/src/frontend/src/locales/lv/messages.po +++ b/src/frontend/src/locales/lv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: lv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\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" @@ -82,20 +82,20 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "" @@ -157,15 +157,15 @@ msgstr "" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "" @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "" @@ -3039,7 +3039,7 @@ msgstr "" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index 9f798ecaa9..f4a0776b96 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: nl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Verwijderen" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Annuleer" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Acties" @@ -157,15 +157,15 @@ msgstr "Nee" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Foutmelding" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Gegevens exporteren" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "De bijbehorende afbeelding van dit item verwijderen?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Plug-ins" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Ingeschakeld" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Laden..." @@ -2305,7 +2305,7 @@ msgstr "Filter op rij validatiestatus" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Complete" @@ -2455,8 +2455,8 @@ msgstr "Opties" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Barcode acties" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Wijzigen" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Toevoegen" @@ -3039,7 +3039,7 @@ msgstr "Uitloggen" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Bijlagen" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Categorie" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Locatie" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Serienummer" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Aantal" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Batch" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Opmerking" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "Toegewezen lijnen" @@ -3939,12 +3939,12 @@ msgstr "Items met een batch code weergeven" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Filter items op batch code" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "Resultaten voor deelvarianten toevoegen" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "Resultaten voor deelvarianten toevoegen" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Filter verwijderen" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Invoer" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Tabel filters" @@ -4395,41 +4395,53 @@ msgstr "Fout bij laden van tabelgegevens" msgid "View {model}" msgstr "{model} Bekijken" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Geselecteerde items verwijderen" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Weet u zeker dat u de geselecteerde items wilt verwijderen?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Deze actie kan niet ongedaan worden gemaakt" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "Items verwijderd" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "Verwijderen van item is mislukt." -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "Aangepaste tabelfilters zijn actief" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Verwijder de geselecteerde records" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Gegevens vernieuwen" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Actieve filters" @@ -5641,7 +5653,7 @@ msgstr "Vervanging toegevoegd" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Bouw Uitvoer" @@ -5729,7 +5741,7 @@ msgstr "Selecteer de bron locatie voor de voorraadtoewijzing" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Locatie invoeren" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Stel vervaldatum in" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Verpakking aanpassen" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Status wijzigen" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Voer een vervaldatum in voor ontvangen items" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Voorraad item toevoegen" msgid "Select the part to install" msgstr "Selecteer het onderdeel om te installeren" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Geïnstalleerde items" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Onderdeel" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Eenheid hoeveelheid" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "Eenheid hoeveelheid" msgid "Unit Price" msgstr "Prijs per stuk" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Bevestig voorraad overdracht" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Verplaats naar standaardlocatie" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Verplaatsen" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Terug" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Aantal" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Voorraad toevoegen" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Voorraad toegevoegd" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Verhoog de hoeveelheid van de geselecteerde voorraadartikelen met een bepaald bedrag." -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Voorraad verwijderen" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Voorraad verwijderd" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Verlaag de hoeveelheid van de geselecteerde voorraadartikelen met een bepaald bedrag." -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Voorraad verplaatsen " -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Voorraadartikel verplaatst" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "Verplaats de geselecteerde items naar de opgegeven locatie." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "Terug naar voorraad" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "Voorraad teruggestuurd" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "Retourneer geselecteerde items naar voorraad, naar de opgegeven locatie." -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Tel voorraad" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Voorraad geteld" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "Tel de geselecteerde voorraaditems, en pas de hoeveelheid overeenkomstig aan." -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Wijzig voorraad status" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Voorraad status gewijzigd" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "Verander de status van de geselecteerde voorraaditems." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Voorraad samenvoegen" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Voorraad samengevoegd" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "Voorraad items samenvoegen" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "Samenvoeg bewerking kan niet worden teruggedraaid" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "Tracking informatie kan verloren gaan tijdens het samenvoegen van items" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "De informatie van de leverancier kan verloren gaan bij het samenvoegen van items" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Voorraad toewijzen aan klant" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Voorraad toegewezen aan klant" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Voorraad items verwijderen" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Voorraad verwijderd" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "Deze bewerking zal de geselecteerde voorraaditems permanent verwijderen." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Bovenliggende voorraad locatie" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Zoek serienummer" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "Geen overeenkomende items" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "Meerdere overeenkomende items" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "Ongeldige reactie van server" @@ -8315,8 +8327,8 @@ msgstr "Print bouw order" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Test resultaten" @@ -8951,7 +8963,7 @@ msgstr "Onderdeel parameters kunnen niet worden bewerkt, omdat het onderdeel is #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Vereist" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Voorraad activiteiten" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "Serienummer geven" @@ -10779,12 +10791,12 @@ msgstr "Maak bouw Order" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "Voorraad ongedaan maken" @@ -10877,7 +10889,7 @@ msgstr "Toon externe build orders" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "Bouw uitvoer voorraad toewijzing" @@ -10889,7 +10901,7 @@ msgstr "Bouw uitvoer voorraad toewijzing" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Voeg Build uitvoer toe" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "Bouw uitvoer gemaakt" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Productieorder is voltooid" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Productieorder zijn verwijderd" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Productieorders zijn geannuleerd" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "Bewerk bouwopdracht" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "Deze actie zal alle voorraad van de geselecteerde bouw uitvoer activeren" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "Serialiseren Build uitvoer" @@ -10947,69 +10959,69 @@ msgstr "Serialiseren Build uitvoer" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Filter op voorraad status" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Voltooi geselecteerde uitvoer" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Geselecteerde outputs schroot" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Geselecteerde uitvoer annuleren" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Toewijzen" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Voorraad toewijzen om output te maken" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Toewijzing annuleren" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Voorraad van build output niet toewijzen" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "Build uitvoer serialiseren" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Voltooi bouw uitvoer" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Schroot" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Verwijder productieorder" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Annuleer productieorder" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Vereiste tests" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "Externe bouw" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "Deze build-opdracht is vervuld door een externe inkooporder" @@ -11881,14 +11893,14 @@ msgstr "Filter op delen waarop de gebruiker geabonneerd is" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Testresultaat toevoegen" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Test resultaat toegevoegd" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "Test resultaten toegevoegd" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Geen resultaat" @@ -12654,7 +12666,7 @@ msgstr "Eindpunt" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Resultaat" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "Taak-ID" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Gestart" @@ -13502,81 +13514,81 @@ msgstr "Bestelde items" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Test resultaat voor geïnstalleerde stock item" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Bijlage" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Test station" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Afgerond" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Bewerk test resultaat" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Test resultaat bijgewerkt" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Verwijder test resultaat" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Test resultaat verwijderd" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Test geslaagd" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Test resultaat werd opgenomen" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Kon testresultaat niet opnemen" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Test geslaagd" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Toon resultaten voor vereiste testen" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Inclusief geïnstalleerde" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Resultaten van geïnstalleerde voorraadartikelen weergeven" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Geslaagd" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Toon alleen goedgekeurde tests" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "Toon resultaten voor ingeschakelde tests" diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index e20d52098c..761f5a186f 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: no\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Slett" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Avbryt" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Handlinger" @@ -157,15 +157,15 @@ msgstr "Nei" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Feil" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Utvidelser" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "" @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Strekkodehandlinger" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Endre" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Legg til" @@ -3039,7 +3039,7 @@ msgstr "Logg ut" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Vedlegg" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Kategori" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Serienummer" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Antall" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "Vis elementer som har en batchkode" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Fjern filter" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Verdi" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Tabellfiltre" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Slett valgte oppføringer" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Oppdater data" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Installerte artikler" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Komponent" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "Enhetspris" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Tell" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Overfør lager" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Tell beholdning" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "Underordnede Produksjonsordrer" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Lagerhandlinger" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Filtrer etter lagerstatus" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "Oppgave-ID" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Startet" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Vedlegg" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Test bestått" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index fccbd760be..de6aa09e3f 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\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" @@ -82,20 +82,20 @@ msgstr "Usuń" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Anuluj" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Akcje" @@ -157,15 +157,15 @@ msgstr "Nie" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Błąd" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Usunąć powiązany obrazek z tego elementu?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Wtyczki" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Włączone" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Ładowanie..." @@ -2305,7 +2305,7 @@ msgstr "Filtruj według stanu walidacji wierszy" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Zakończono" @@ -2455,8 +2455,8 @@ msgstr "Opcje" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Akcje kodów kreskowych" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Zmień" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Dodaj" @@ -3039,7 +3039,7 @@ msgstr "Wyloguj się" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Lokalizacja" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Numer seryjny" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Ilość" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Notatka" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Ustaw lokalizację" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Dostosuj opakowanie" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Zmień status" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Dodaj element magazynowy" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Przenieś do domyślnej lokalizacji" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Przenieś" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Ilość" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Dodaj stan" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Usuń stan" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Przenieś stan" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Policz stan" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Zmień status stanu magazynowego" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index e013712f94..bd302e83f3 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Eliminar" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Cancelar" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Ações" @@ -157,15 +157,15 @@ msgstr "Não" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Erro" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Remover a imagem associada a este item?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2131,7 +2131,7 @@ msgstr "Extensões" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Habilitado" @@ -2244,7 +2244,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "A carregar..." @@ -2306,7 +2306,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Completo" @@ -2456,8 +2456,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Ações de código de barras" @@ -2635,8 +2635,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Adicionar" @@ -3040,7 +3040,7 @@ msgstr "Encerrar sessão" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3209,7 +3209,7 @@ msgid "Attachments" msgstr "Anexos" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3522,17 +3522,17 @@ msgstr "Categoria" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3541,10 +3541,10 @@ msgid "Location" msgstr "Localização" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3559,9 +3559,9 @@ msgstr "Número de Série" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3588,15 +3588,15 @@ msgstr "Quantidade" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Lote" @@ -3867,7 +3867,7 @@ msgid "Note" msgstr "Nota" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3940,12 +3940,12 @@ msgstr "Mostrar itens que tenham um código de lote" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3959,13 +3959,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4171,8 +4171,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4181,7 +4181,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4304,7 +4304,7 @@ msgstr "Remover filtro" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Valor" @@ -4347,7 +4347,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Filtros de tabela" @@ -4396,41 +4396,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Remover registos selecionados" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Atualizar dados" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5642,7 +5654,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Saída da Produção" @@ -5730,7 +5742,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5879,7 +5891,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Definir localização" @@ -5896,13 +5908,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Alterar Estado" @@ -5951,7 +5963,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6074,44 +6086,44 @@ msgstr "Adicionar item de Estoque" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Itens instalados" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6119,12 +6131,12 @@ msgstr "" msgid "Component" msgstr "Componente" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Quantidade Unitária" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6139,201 +6151,201 @@ msgstr "Quantidade Unitária" msgid "Unit Price" msgstr "Preço Unitário" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Mover para o local padrão" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Mover" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Contar" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Adicionar Estoque" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Remover Estoque" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Transferir Estoque" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Contar Estoque" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Alterar estado do Estoque" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Mesclar Estoque" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Excluir Itens de Estoque" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Localização parente de Estoque" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8316,8 +8328,8 @@ msgstr "Pedido de Produção Filho" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Resultados do teste" @@ -8952,7 +8964,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Obrigatório" @@ -10074,7 +10086,7 @@ msgid "Stock Operations" msgstr "Operações de Stock" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10780,12 +10792,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10793,8 +10805,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10816,8 +10828,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10878,7 +10890,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10890,7 +10902,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10898,49 +10910,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Nova saída de produção" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "O Pedido de produção foi concluído" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Os Pedidos de produção foram cancelados" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Os Pedidos de produção foram cancelados" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10948,69 +10960,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Filtrar por estado do estoque" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Concluir saídas selecionadas" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Remover saídas selecionadas" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Cancelar saídas selecionadas" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Atribuir" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Atribuir estoque para a produção" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Desalocar" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Desalocar estoque da produção" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Concluir Produção" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Sucata" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Cancelar Saída de Produção" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Cancelar Saída de Produção" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Testes Obrigatórios" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11882,14 +11894,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Adicionar Resultado de Teste" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Resultado do teste adicionado" @@ -11902,7 +11914,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Sem Resultado" @@ -12655,7 +12667,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Resultado" @@ -12848,7 +12860,7 @@ msgid "Task ID" msgstr "ID da Tarefa" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Iniciado" @@ -13503,81 +13515,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Teste" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Resultado do teste para o item de estoque instalado" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Anexo" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Estação de teste" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Concluído" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Editar Resultado do Teste" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Resultado do teste atualizado" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Excluir Resultado do Teste" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Resultado do teste excluído" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Teste Aprovado" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "O resultado do teste foi gravado" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Falha ao gravar resultado do teste" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Passou no teste" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Mostrar resultados para testes necessários" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Incluir Instalados" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Mostrar resultados para itens de estoque instalados" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Aprovado" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Mostrar apenas testes aprovados" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/pt_BR/messages.po b/src/frontend/src/locales/pt_BR/messages.po index ece7b44593..1811a3a9ca 100644 --- a/src/frontend/src/locales/pt_BR/messages.po +++ b/src/frontend/src/locales/pt_BR/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 13:27\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Excluir" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Cancelar" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Ações" @@ -157,15 +157,15 @@ msgstr "Não" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "Itens de seleção" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "Itens de seleção" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Erro" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "Atualizar calendário" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Exportar dados" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Remover imagem associada a este item?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Extensões" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Ativado" @@ -2243,7 +2243,7 @@ msgstr "Selecionar..." #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Carregando..." @@ -2305,7 +2305,7 @@ msgstr "Filtrar por estado de validação de linha" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Concluir" @@ -2455,8 +2455,8 @@ msgstr "Opções" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Ações de código de barras" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Alterar" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Adicionar" @@ -3039,7 +3039,7 @@ msgstr "Sair" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Anexos" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Categoria" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Localização" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Número de série" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Quantidade" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Lote" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Anotação" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "Linhas alocadas" @@ -3939,12 +3939,12 @@ msgstr "Exibir itens com um código de lote" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Filtrar itens por código de lote" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "Incluir resultados de variantes da peça" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "Incluir resultados de variantes da peça" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Remover filtro" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Valor" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "Excluir grupo de filtros" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Filtros da tabela" @@ -4395,41 +4395,53 @@ msgstr "Erro ao carregar os dados da tabela" msgid "View {model}" msgstr "Ver {model}" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "Nenhum item selecionado" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "1 item selecionado será excluído" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "{N} itens selecionados serão excluídos" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Excluir itens selecionados" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Você tem certeza que quer excluir os itens selecionados?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Esta ação não pode ser desfeita" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "Itens excluídos" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "Falha ao excluir itens" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "Filtros de tabela personalizados estão ativos" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Remover registros selecionados" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Atualizar dados" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Filtros ativos" @@ -5641,7 +5653,7 @@ msgstr "Substituto adicionado" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Saída da produção" @@ -5729,7 +5741,7 @@ msgstr "Selecione o local de origem para alocação de estoque" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "Esta peça é virtual, nenhum estoque físico será recebido." #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Definir localização" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Definir data de validade" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Ajustar pacotes" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Alterar status" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Insira uma data de expiração para os itens recebidos" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Adicionar item do estoque" msgid "Select the part to install" msgstr "Selecione a peça para instalar" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Itens instalados" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "Automático" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "Esta linha não pode ser removida pois possui itens instalados" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "Os seguintes itens instalados serão desinstalados durante a desmontagem" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "Local personalizado para os itens componentes" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "Status para os itens componentes" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "Nenhum local definido" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "Itens instalados adicionais" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "Os seguintes itens estão instalados neste item de estoque, mas não correspondem a nenhum componente listado. Eles serão desinstalados durante a desmontagem." -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "Os seguintes itens estão instalados neste item de estoque, mas não cor msgid "Component" msgstr "Componente" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Quantidade unitária" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "Quantidade unitária" msgid "Unit Price" msgstr "Preço unitário" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "Desmontar item de estoque" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "Item de estoque desmontado" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Confirmar transferência de estoque" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "Confirmar devolução de estoque" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Mover para o local padrão" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "Mesclar com o estoque existente" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Mover" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Voltar" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "Mesclar itens devolvidos com itens de estoque existentes, se possível" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "Notas da transação de estoque" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Contar" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Adicionar estoque" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Estoque adicionado" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Aumentar a quantidade dos itens de estoque selecionados em um valor determinado." -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Remover estoque" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Estoque removido" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Diminuir a quantidade dos itens de estoque selecionados em um valor determinado." -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Transferir estoque" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Estoque transferido" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "Transferir os itens selecionados para o local especificado." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "Devolver estoque" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "Estoque devolvido" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "Devolver os itens selecionados ao estoque, no local especificado." -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Contar estoque" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Estoque contado" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "Contar os itens de estoque selecionados e ajustar a quantidade conforme necessário." -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Mudar status do estoque" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Status do estoque alterado" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "Alterar o status dos itens de estoque selecionados." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "Alterar código de lote" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "Alterar código de lote dos itens de estoque selecionados" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Mesclar estoque" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Estoque mesclado" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "Mesclar itens de estoque" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "A operação de mesclagem não pode ser revertida" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "Informações de rastreamento podem ser perdidas ao mesclar itens" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "Informações de fornecedor podem ser perdidas ao mesclar itens" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Atribuir estoque ao cliente" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Estoque atribuído ao cliente" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Excluir item de estoque" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Estoque excluído" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "Esta operação excluirá permanentemente os itens de estoque selecionados." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Local de estoque pai" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Encontrar número de série" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "Nenhum item correspondente" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "Vários itens correspondentes" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "Resposta inválida do servidor" @@ -8315,8 +8327,8 @@ msgstr "Pedido de produção filhos" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Resultados do teste" @@ -8951,7 +8963,7 @@ msgstr "Os parâmetros da peça não podem ser editados, pois a peça está bloq #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Obrigatório" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Operações de estoque" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "Serializar" @@ -10779,12 +10791,12 @@ msgstr "Criar pedido de produção" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "Alocando estoque ao pedido de produção" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "Alocação de estoque concluída" @@ -10792,8 +10804,8 @@ msgstr "Alocação de estoque concluída" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "Alocar automaticamente os itens não rastreados da lista de materiais a #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "Desalocar estoque" @@ -10877,7 +10889,7 @@ msgstr "Exibir pedidos de produção externos" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "Alocação de estoque da saída de produção" @@ -10889,7 +10901,7 @@ msgstr "Alocação de estoque da saída de produção" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "Alocar automaticamente os itens rastreados da lista de materiais a esta produção conforme as opções selecionadas" @@ -10897,49 +10909,49 @@ msgstr "Alocar automaticamente os itens rastreados da lista de materiais a esta #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Adicionar saída da produção" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "Saída de produção criada" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "Concluindo saídas de produção" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Saídas de produção foram completadas" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "Sucateando saídas de produção" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Saídas de produção foram sucateadas" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "Cancelando saídas de produção" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Saídas de produção foram canceladas" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "Editar saída de produção" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "Esta ação desalocará todo o estoque da saída de produção selecionada" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "Serializar saída de produção" @@ -10947,69 +10959,69 @@ msgstr "Serializar saída de produção" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Filtrar por estado do estoque" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Concluir as saídas selecionadas" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Sucatear saídas selecionadas" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Cancelar saídas selecionadas" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Alocar" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Alocar estoque à saída de produção" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Desalocar" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Desalocar estoque da saída de produção" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "Serializar saída de produção" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Concluir saída de produção" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Sucata" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Sucatear saída de produção" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Cancelar saídas de produção" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Testes obrigatórios" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "Produção externa" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "Este pedido de produção é atendido por um pedido de compra externo" @@ -11881,14 +11893,14 @@ msgstr "Filtrar por peças em que o usuário está inscrito" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Adicionar resultado de teste" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Resultado do teste adicionado" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "Resultados de teste adicionados" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Nenhum resultado" @@ -12654,7 +12666,7 @@ msgstr "Endpoint" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Resultado" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "ID da tarefa" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Iniciado" @@ -13502,81 +13514,81 @@ msgstr "Solicitar itens" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Teste" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Resultado de teste do item de estoque instalado" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Anexo" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Estação de teste" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Concluído" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Editar resultado do teste" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Resultado do teste atualizado" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Excluir resultado do teste" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Resultado de teste excluído" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Teste aprovado" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "O resultado do teste foi registrado" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Falha ao registrar o resultado do teste" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Aprovar teste" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Exibir resultados dos testes obrigatórios" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Incluir instalados" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Exibir resultados dos itens de estoque instalados" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Aprovado" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Exibir apenas testes aprovados" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "Exibir resultados dos testes habilitados" diff --git a/src/frontend/src/locales/ro/messages.po b/src/frontend/src/locales/ro/messages.po index 92ac2c3d6a..087d343104 100644 --- a/src/frontend/src/locales/ro/messages.po +++ b/src/frontend/src/locales/ro/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ro\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\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" @@ -82,20 +82,20 @@ msgstr "Șterge" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Anulează" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Acțiuni" @@ -157,15 +157,15 @@ msgstr "Nu" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Erroare" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Exportare date" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Eliminați imaginea asociată de la acest articol?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Plugin-uri" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Activat" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "" @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "" @@ -3039,7 +3039,7 @@ msgstr "" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "Arată articole care au un cod de lot" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Filtrează articole după codul de lot" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "Selectaţi locaţia sursă pentru alocarea stocurilor" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Test trecut" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Test trecut" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "A trecut" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Afișează doar testele trecute" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index 181381d423..58cf14b2fb 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ru\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\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" @@ -82,20 +82,20 @@ msgstr "Удалить" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Отменить" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Действия" @@ -157,15 +157,15 @@ msgstr "Нет" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "Элементы списка выбора" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "Элементы списка выбора" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Ошибка" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "Обновить календарь" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Экспорт данных" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Удалить связанное изображение?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Плагины" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Включено" @@ -2243,7 +2243,7 @@ msgstr "Выбрать..." #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Загрузка..." @@ -2305,7 +2305,7 @@ msgstr "Фильтр по статусу проверки строк" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Готово" @@ -2455,8 +2455,8 @@ msgstr "Опции" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Действия со штрихкодом" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Редактировать" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Добавить" @@ -3039,7 +3039,7 @@ msgstr "Выход" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Вложения" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Категория" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Расположение" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Серийный номер" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Количество" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Партия" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Заметка" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "Зарезервированные позиции" @@ -3939,12 +3939,12 @@ msgstr "Показать элементы, которым присвоен ко #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Фильтр по коду партии" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "Включить результаты для вариантов дета #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "Включить результаты для вариантов дета #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Убрать фильтрацию" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Значение" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "Удалить группу фильтров" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Фильтр таблицы" @@ -4395,41 +4395,53 @@ msgstr "Ошибка загрузки данных таблицы" msgid "View {model}" msgstr "Просмотреть {model}" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Удалить выбранные элементы" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Вы уверены, что хотите удалить выбранные элементы?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Это действие нельзя будет отменить" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "Элементы удалены" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "Не удалось удалить элементы" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "Используется пользовательский фильтр таблицы" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Удалить выбранные записи" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Обновить данные" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Активные фильтры" @@ -5641,7 +5653,7 @@ msgstr "Замена создана" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Продукция" @@ -5729,7 +5741,7 @@ msgstr "Выберите исходное расположение для рас #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "Эта деталь виртуальная, физический зап #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Задать место хранения" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Задать срок годности" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Настройка упаковки" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Изменить статус" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Введите дату истечения срока годности полученных элементов" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Создать складскую позицию" msgid "Select the part to install" msgstr "Выберите часть для установки" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Установленные элементы" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Компонент" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Количество единиц" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "Количество единиц" msgid "Unit Price" msgstr "Цена за единицу" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Подтвердить перемещение запаса" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "Подтвердить возврат запаса" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Переместить в местоположение по умолчанию" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "Объединить с существующим запасом" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Переместить" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Возврат" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "По возможности объединить возвращённые позиции с существующими складскими позициями" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "Примечания к складской операции" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Количество" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Увеличить склад" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Запас добавлен" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Увеличить количество выбранных складских позиций на указанную величину." -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Уменьшить склад" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Запас удален" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Уменьшить количество выбранных складских позиций на указанную величину." -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Переместить склад" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Запас перемещен" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "Переместить выбранные позиции в указанное место хранения." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "Возврат запасов" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "Запасы возвращены" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "Вернуть выбранные позиции на склад, в указанное место хранения." -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Подсчёт склада" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Запас посчитан" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "Произвести инвентаризацию выбранных складских позиций и скорректировать количество соответствующим образом." -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Изменить статус запасов" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Состояние запаса изменено" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "Изменить статус выбранных складских позиций." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "Изменить код партии" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "Изменить код партии для выбранных складских позиций" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Объединить склад" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Запасы объединены" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "Объединить складские позиции" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "Операция объединения не может быть отменена" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "При объединении позиций информация об отслеживании может быть потеряна" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "При объединении может быть потеряна информация о поставщиках" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Передать запас клиенту" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Запас передан клиенту" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Удалить складскую позицию" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Запас удален" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "Эта операция необратимо удалит выбранные складские позиции." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Расположение основного склада" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Поиск по серийному номеру" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "Нет подходящих элементов" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "Несколько подходящих элементов" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "Неверный ответ сервера" @@ -8315,8 +8327,8 @@ msgstr "Дочерние заказы на сборку" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Результаты тестов" @@ -8951,7 +8963,7 @@ msgstr "Параметры детали нельзя редактировать, #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Требуется" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Действия со складом" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "Сериализовать" @@ -10779,12 +10791,12 @@ msgstr "Создать заказ на сборку" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "Резервирование запаса для производственного заказа" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "Резервирование запаса завершено" @@ -10792,8 +10804,8 @@ msgstr "Резервирование запаса завершено" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "Автоматически резервировать неотслежи #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "Отменить резервирование остатков" @@ -10877,7 +10889,7 @@ msgstr "Показать сторонние заказы на сборку" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "Резервирование складских позиций для продукции" @@ -10889,7 +10901,7 @@ msgstr "Резервирование складских позиций для п #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "Автоматически резервировать отслеживаемые позиции спецификации для этой сборки согласно выбранным параметрам" @@ -10897,49 +10909,49 @@ msgstr "Автоматически резервировать отслежива #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Создать продукцию" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "Продукция создана" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "Завершение результатов производства" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Производство завершено" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "Списание результатов производства в брак" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Продукция списана" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "Отмена результатов производства" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Производство отменено" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "Редактировать продукцию" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "Это действие отменит резервирование всех складских позиций для выбранной продукции" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "Сериализовать продукцию" @@ -10947,69 +10959,69 @@ msgstr "Сериализовать продукцию" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Фильтр по статусу склада" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Завершить выбранную продукцию" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Списать выбранную продукцию" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Отменить выбранную продукцию" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Зарезервировать" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Зарезервировать остатки для выбранной продукции" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Отменить резервирование" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Отменить резервирование остатков для выбранной продукции" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "Сериализовать продукцию" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Завершить продукцию" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Списать" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Списать продукцию" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Отменить продукцию" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Обязательные тесты" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "Сторонняя сборка" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "Этот заказ на сборку выполнен внешними заказами на закупку" @@ -11881,14 +11893,14 @@ msgstr "Показать детали, на которые пользовате #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Добавить результат тестирования" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Результат тестирования добавлен" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "Результаты теста добавлены" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Нет результатов" @@ -12654,7 +12666,7 @@ msgstr "Конечная точка" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Результат" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "Идентификатор задачи" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Запущен" @@ -13502,81 +13514,81 @@ msgstr "Закупить детали" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Тест" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Результат теста для установленного складского элемента" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Вложение" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Испытательное оборудование" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Завершён" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Редактировать результаты теста" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Результаты теста обновлены" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Удалить результат теста" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Результаты теста удалены" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Тест пройден" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Результат теста записан" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Не удалось записать результат теста" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Тест пройден" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Показать результаты обязательных тестов" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Включить установленные" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Показать результаты для установленных складских элементов" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Пройден" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Показать только пройденные тесты" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "Показать результаты активных тестов" diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index 50e54882e8..85cc1fa32a 100644 --- a/src/frontend/src/locales/sk/messages.po +++ b/src/frontend/src/locales/sk/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sk\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -82,20 +82,20 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "" @@ -157,15 +157,15 @@ msgstr "" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "" @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "" @@ -3039,7 +3039,7 @@ msgstr "" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index dc966f19e6..5055cfb52f 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\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" @@ -82,20 +82,20 @@ msgstr "Izbriši" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Prekliči" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Dejanja" @@ -157,15 +157,15 @@ msgstr "Ne" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Napaka" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "" @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "" @@ -3039,7 +3039,7 @@ msgstr "" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index e91a61baf4..e881ab3ee1 100644 --- a/src/frontend/src/locales/sr/messages.po +++ b/src/frontend/src/locales/sr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\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" @@ -82,20 +82,20 @@ msgstr "Obriši" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Poništi" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Akcije" @@ -157,15 +157,15 @@ msgstr "Ne" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Grеška" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Ukloniti sliku sa ovog predmeta?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Ekstenzije" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Omogućeno" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Učitavanje" @@ -2305,7 +2305,7 @@ msgstr "Filtriraj prema validacionom statusu reda" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Završi" @@ -2455,8 +2455,8 @@ msgstr "Opcije" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Akcije Barkoda" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Dodaj" @@ -3039,7 +3039,7 @@ msgstr "Odjavljivanje" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Prilozi" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Kategorija" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Lokacija" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Serijski broj" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Količina" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Serija" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Beleška" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "Alocirane linije" @@ -3939,12 +3939,12 @@ msgstr "Prikaži stavke koje imaju serijski broj" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Filtriraj stavke prema šifri serije" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Ukloni filter" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Vrednost" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Filteri tabele" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Obriši izabrane stavke" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Da li ste sigurni da želite da obrišete ove izabrane stavke?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Ova akcija se ne može poništiti" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "Prilagođeni filteri tabele su aktivni" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Obriši izabrane zapise" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Osveži podatke" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Izlazna kompilacija" @@ -5729,7 +5741,7 @@ msgstr "Izaberi lokaciju izvora radi alokacije zaliha" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Podesi lokaciju" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Doradi pakovanje" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Promeni status" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Dodaj stavku zalihe" msgid "Select the part to install" msgstr "Izaberi deo za instalaciju" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Instalirane stavke" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Komponenta" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Količina po jedinici" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "Količina po jedinici" msgid "Unit Price" msgstr "Cena po jedinici" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Potvrdi transfer zalihe" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Premesti na podrazumevanu lokaciju" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Premesti" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Vrati" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Računaj" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Dodaj zalihu" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Zaliha dodata" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Ukloni zalihu" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Zaliha uklonjena" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Prebaci zalihu" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Zaliha prebačena" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Prebroj zalihe" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Zaliha prebrojena" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Promeni status zalihe" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Status zalihe izmenjen" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Spoji zalihe" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Zalihe spojene" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Dodeli zalihu mušteriji" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Zaliha dodeljena mušteriji" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Izbriši stavku zalihe" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Zaliha izbrisana" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Lokacija roditeljske zalihe" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "Pod-nalozi za izradu" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Rezultati testa" @@ -8951,7 +8963,7 @@ msgstr "Parametri dela ne mogu da se izmene, deo je zaključan" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Neophodno" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Operacije nad zalihama" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "Serijalizuj" @@ -10779,12 +10791,12 @@ msgstr "Kreiraj nalog za izradu" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "Dealociraj zalihe" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "Alokacija zaliha na nalog za izradu" @@ -10889,7 +10901,7 @@ msgstr "Alokacija zaliha na nalog za izradu" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Dodaj nalog za izradu" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Izlazne kompilacije kompletirane" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Izlazna kompilacija izbriši" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Izlazne kompilacije poništene" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "Izmeni nalog za izradu" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "Ova akcija će dealocirate sve zalihe sa izabranog naloga za izradu" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Filtriraj po statusu zaliha" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Kompletiraj izabrane naloge" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Odbaci izabrane naloge" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Otkaži izabrane naloge" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Alociraj" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Alociraj zalihe na nalog za izradu" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Dealociraj" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Dealokacija zaliha sa naloga za izradu" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Završi nalog za izradu" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Odbaci" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Odbaci nalog za izradu" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Otkaži nalog za izradu" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Potrebni testovi" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "Filtriraj delove na koje je korisnik pretplaćen" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Dodaj test rezultat" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Test rezultat dodat" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Nema rezultata" @@ -12654,7 +12666,7 @@ msgstr "Krajnja tačka" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Rezultat" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "ID zadatka" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Započeto" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Test rezultat za instaliranu stavku" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Prilog" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Test stanica" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Završeno" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Izmeni test rezultat" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Test rezultat ažuriran" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Obriši test rezultat" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Test rezultat obrisan" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Test uspešan" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Test rezultat je zabeležen" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Neuspešno dodavanje test rezultata" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Uspešan test" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "Prikaži rezultate neophodnih testova" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Uključi instalirane" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Prikaži rezultate za instalirane stavke" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Uspešno" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Pokaži samo uspešne testove" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "Prikaži rezultate za omogućene testove" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index daec3151c7..dd20a0c39a 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Radera" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Avbryt" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Åtgärder" @@ -157,15 +157,15 @@ msgstr "Nej" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Fel" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ 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:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Plugins" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Aktiverad" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Laddar..." @@ -2305,7 +2305,7 @@ msgstr "Filtrera efter radvalideringsstatus" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Slutförd" @@ -2455,8 +2455,8 @@ msgstr "Alternativ" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Streckkods åtgärder" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Ändra" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Lägg till" @@ -3039,7 +3039,7 @@ msgstr "Logga ut" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Bilagor" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Kategori" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Plats" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Serienummer" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Antal" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Ta bort filter" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Värde" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Uppdatera data" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Aktiva filter" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Ändra status" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Komponent" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Flytta" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Sammanfoga lager" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Ta bort lagerartikel" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Överordnad lagerplats" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "Underordnad tillverknings order" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Test resultat" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Produktion som har slutförts" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Tillverkad produktion har skrotats" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Tillverkade produkter har raderats" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Slutför valda produkter" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Skrot valda produkter" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Avbryt valda produkter" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Allokera" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Inga resultat" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Resultat" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Testa" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Bilaga" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index 3474738847..ac285e78c5 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: th\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -82,20 +82,20 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "" @@ -157,15 +157,15 @@ msgstr "" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "" @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "" @@ -3039,7 +3039,7 @@ msgstr "" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index 46a62f0ebf..6c083dac58 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: tr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -82,20 +82,20 @@ msgstr "Sil" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Vazgeç" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Eylemler" @@ -157,15 +157,15 @@ msgstr "Hayır" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "Seçim Kayıtları" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "Seçim Kayıtları" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Hata" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "Takvimi yenile" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "Veriyi dışa aktar" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Bu ögeyle ilişkilendirilmiş görsel kaldırılsın mı?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Eklentiler" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Etkin" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Yükleniyor..." @@ -2305,7 +2305,7 @@ msgstr "Satır doğrulama durumuna göre süz" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Tam" @@ -2455,8 +2455,8 @@ msgstr "Ayarlar" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Barkod Eylemleri" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "Değiştir" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Ekle" @@ -3039,7 +3039,7 @@ msgstr "Çıkış" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Ekler" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Kategori" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Konum" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Seri Numarası" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Miktar" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Parti" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Not" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "Tahsis Edilen Kalemler" @@ -3939,12 +3939,12 @@ msgstr "Parti kodu olan ögeleri göster" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Filtreyi kaldır" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Değer" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Tablo Süzgeçleri" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Seçilen Ögeleri Sil" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Seçilen ögeleri silmek istediğinize emin misiniz?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "Bu işlem geri alınamaz" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "Ürünler silindi" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "Ürünlerin silinmesi başarısız" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Seçili kayıtları sil" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Veriyi yenile" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "Aktif Filtreler" @@ -5641,7 +5653,7 @@ msgstr "Muadil eklendi" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "Üretim Çıktısı" @@ -5729,7 +5741,7 @@ msgstr "Stok tahsisi için kaynak konumu seç" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "Bu parça sanaldır; fiziksel stok teslim alınmayacaktır." #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Konum Ayarla" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "Son Kullanma Tarihi Belirle" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Paketlemeyi Ayarla" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Durumu Değiştir" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "Teslim alınan ögeler için bir geçerlilik tarihi gir" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Stok Kalemi Ekle" msgid "Select the part to install" msgstr "Takılacak parçayı seç" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Takılı Kalemler" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Bileşen" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "Birim Miktarı" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "Birim Miktarı" msgid "Unit Price" msgstr "Birim Fiyat" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "Stok Transferini Onayla" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "Stok İadesini Onayla" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Varsayılan konuma taşı" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "Mevcut stokla birleştir" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Taşı" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "Geri Dön" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "Mümkünse iade edilen kalemleri mevcut stok kalemleri ile birleştir" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "Stok işlem notları" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Say" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Stok Ekle" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Stok Eklendi" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "Seçilen stok kalemlerinin miktarını belirtilen miktarda artır." -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Stok Kaldır" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Stok Kaldırıldı" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "Seçilen stok kalemlerinin miktarını belirtilen miktarda azalt." -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Stoku Aktar" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "Stok Transfer Edildi" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "Seçilen kalemleri belirtilen konuma aktar." -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "Stock İade Et" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "Stok iade edildi" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "Seçilen kalemleri belirtilen konumdaki stoka iade et." -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Stoku Say" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "Stok Sayıldı" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "Seçilen stok kalemlerini say ve miktarı ona göre ayarla." -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Stok Durumunu Değiştir" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "Stok Durumu Değişti" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "Seçilen stok kalemlerinin durumunu değiştir." -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "Parti Kodunu Değiştir" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "Seçilen stok kalemlerinin parti kodunu değiştir" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Stoku Birleştir" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "Stok Birleştirildi" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "Stok Kalemlerini Birleştir" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "Birleştirme işlemi geri alınamaz" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "Kalemleri birleştirirken takip bilgileri kaybolabilir" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "Kalemleri birleştirirken tedarikçi bilgileri kaybolabilir" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "Stoku Müşteriye Ata" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "Stok Müşteriye Atandı" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Stok Kalemlerini Sil" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "Stok Silindi" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "Bu işlem seçilen stok kalemlerini kalıcı olarak silecektir." -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Üst stok konumu" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "Seri Numarası Bul" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "Eşleşen ürün bulunamadı" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "Birden fazla eşleşen öge" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "Sunucudan geçersiz yanıt" @@ -8315,8 +8327,8 @@ msgstr "Alt Üretim Emirleri" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Test Sonuçları" @@ -8951,7 +8963,7 @@ msgstr "Parça kilitli olduğundan bu parçanın parametreleri düzenlenemez" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Gerekli" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Stok İşlemleri" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "Üretim Emri Oluştur" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "Üretim Çıktısı Ekle" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Üretim çıktıları tamamlandı" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Üretim çıktıları hurdaya ayrıldı" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Üretim çıktıları iptal edildi" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "Stok durumuna göre süz" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "Seçilen çıktıları tamamla" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "Seçilen çıktıları hurdaya ayır" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "Seçilen çıktıları iptal et" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "Tahsis Et" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "Stoku üretim çıktısına tahsis et" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "Tahsisi Kaldır" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "Stokun üretim çıktısına tahsisini kaldır" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "Üretim çıktısını tamamla" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "Hurdaya Ayır" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "Üretim çıktısını hurdaya ayır" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "Üretim çıktısını iptal et" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "Gerekli Testler" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "Kullanıcının takip ettiği parçalara göre süz" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "Test Sonucu Ekle" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "Test sonucu eklendi" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "Sonuç Yok" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "Sonuç" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "Görev ID" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "Başladı" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "Test" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "Takılı stok kaleminin test sonucu" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "Ek" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "Test istasyonu" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "Bitti" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "Test Sonucunu Düzenle" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "Test sonucu güncellendi" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "Test Sonucunu Sil" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "Test sonucu silindi" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "Test Geçti" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "Test sonucu kaydedildi" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "Test sonucunu kaydetme başarısız oldu" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "Testi Geçir" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "İstenen testler için sonuçları göster" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "Takılıyı Dahil Et" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "Takılı stok kalemleri için sonuçları göster" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "Geçti" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "Yalnızca geçen testleri göster" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index fc648fd3d3..55fcdc904a 100644 --- a/src/frontend/src/locales/uk/messages.po +++ b/src/frontend/src/locales/uk/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: uk\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\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" @@ -82,20 +82,20 @@ msgstr "Видалити" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Скасувати" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Дії" @@ -157,15 +157,15 @@ msgstr "Ні" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Помилка" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Видалити пов'язане зображення з цього елемента?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Плагіни" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "Увімкнено" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Завантаження..." @@ -2305,7 +2305,7 @@ msgstr "" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "" @@ -2455,8 +2455,8 @@ msgstr "Параметри" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Додати" @@ -3039,7 +3039,7 @@ msgstr "Вихід" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Вкладення" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Категорія" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Серійний номер" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Кількість" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "Пакетно" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Нотатки" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "Показати елементи які мають Номер сері #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "Фільтрувати елементи по Номеру серії з #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Значення" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "Вибір розташування вихідного товару пр #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Додати елемент складу" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Компонент" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Перемістити в типове розташування" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Перемістити" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Кількість" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Додати запаси" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "Додано елемент складу" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Видалити елемент складу" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "Видалено елемент складу" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Переміщення запасів" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Кількість запасів" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "Дочірні Замовлення на збірку" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Необхідний" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index 1e78be79b2..87a1259157 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: vi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -82,20 +82,20 @@ msgstr "Xóa" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "Hủy bỏ" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "Chức năng" @@ -157,15 +157,15 @@ msgstr "Không" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "Lỗi" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "Xóa hình liên quan khỏi mục này?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "Plugins" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "Đang tải..." @@ -2305,7 +2305,7 @@ msgstr "Lọc theo tình trạng xác thực" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "Hoàn thành" @@ -2455,8 +2455,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "Chức năng mã vạch" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "Thêm" @@ -3039,7 +3039,7 @@ msgstr "Đăng xuất" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "Đính kèm" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "Danh mục" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "Vị trí" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "Số sê-ri" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "Số lượng" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "Ghi chú" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "" @@ -3939,12 +3939,12 @@ msgstr "" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "Xoá bộ lọc" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "Giá trị" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "Bộ lọc bảng" @@ -4395,41 +4395,53 @@ msgstr "" msgid "View {model}" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "Xóa mục đã chọn" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "Bạn muốn xóa các mục đã chọn?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "Xóa bản ghi được chọn" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "Làm mới dữ liệu" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "" @@ -5641,7 +5653,7 @@ msgstr "" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "" @@ -5729,7 +5741,7 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "Cài đặt vị trí" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "Điều chỉnh bao bì" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "Thay đổi trạng thái" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "Thêm mặt hàng trong kho" msgid "Select the part to install" msgstr "" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "Mục đã cài đặt" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "Thành phần" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "" msgid "Unit Price" msgstr "Đơn giá" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "Đến vị trí mặc định" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "Di chuyển" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Đếm" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "Thêm kho" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "Xoá kho" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "Chuyển kho" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "Kiểm kê" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "Đổi trạng thái kho" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "Gộp kho" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "Xóa mặt hàng trong kho" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "Vị trí kho lớn" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "" @@ -8315,8 +8327,8 @@ msgstr "Đơn đặt bản dựng con" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "Kết quả kiểm tra" @@ -8951,7 +8963,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "Bắt buộc" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "Hoạt động kho" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "" @@ -10779,12 +10791,12 @@ msgstr "" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "" @@ -10792,8 +10804,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "" #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "" @@ -10877,7 +10889,7 @@ msgstr "" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "" @@ -10889,7 +10901,7 @@ msgstr "" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "" @@ -10897,49 +10909,49 @@ msgstr "" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "Xây dựng đầu ra đã hoàn thành" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "Xây dựng đầu ra đã bị hủy bỏ" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "Xây dựng đầu ra đã bị hủy" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "" @@ -10947,69 +10959,69 @@ msgstr "" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "" @@ -11881,14 +11893,14 @@ msgstr "" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "" @@ -12654,7 +12666,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "" @@ -13502,81 +13514,81 @@ msgstr "" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "" diff --git a/src/frontend/src/locales/zh_Hans/messages.po b/src/frontend/src/locales/zh_Hans/messages.po index 6ce85f2a61..07d852d754 100644 --- a/src/frontend/src/locales/zh_Hans/messages.po +++ b/src/frontend/src/locales/zh_Hans/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -82,20 +82,20 @@ msgstr "删除" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "取消" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "操作" @@ -157,15 +157,15 @@ msgstr "否" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "入选" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "入选" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "错误" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "刷新日历" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "出口数据" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "删除与此项关联的图片?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "插件" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "已启用" @@ -2243,7 +2243,7 @@ msgstr "选择..." #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "正在加载..." @@ -2305,7 +2305,7 @@ msgstr "按行验证状态筛选" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "完成" @@ -2455,8 +2455,8 @@ msgstr "选项" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "条形码操作" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "更改" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "添加" @@ -3039,7 +3039,7 @@ msgstr "登出" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "附件" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "类别" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "位置" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "序列号" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "数量" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "批次" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "备注" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "已分配的项目" @@ -3939,12 +3939,12 @@ msgstr "显示有批号的项目" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "按批号筛选项目" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "包含零件变体结果" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "包含零件变体结果" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "移除过滤器" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "值" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "删除筛选分组" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "表格筛选" @@ -4395,41 +4395,53 @@ msgstr "表格数据加载错误" msgid "View {model}" msgstr "{model} 视图" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "删除所选项目" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "确定要删除所选的项目吗?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "该操作无法撤销" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "物料已删除" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "删除物料失败" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "当前启用了自定义表格筛选器" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "删除选中的记录" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "刷新数据" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "当前生效的筛选条件" @@ -5641,7 +5653,7 @@ msgstr "替代项已添加" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "生产产出" @@ -5729,7 +5741,7 @@ msgstr "选择分配库存的源位置" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "该零件为虚拟件,不会接收实物库存。" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "设置位置" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "设置到期日期" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "调整封包" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "更改状态" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "输入接收项目的到期日期" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "编辑库存项" msgid "Select the part to install" msgstr "选择要安装的零件" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "已安装的项目" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "自动" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "该行无法删除,存在已装配物料" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "拆解过程中将移除以下已装配物料" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "组件物料自定义库位" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "组件物料状态" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "未设置库位" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "额外装配物料" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "以下物料装配于该库存物件内,但不在组件清单中,拆解时将解除装配关系。" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "以下物料装配于该库存物件内,但不在组件清单中,拆 msgid "Component" msgstr "组件" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "单位数量" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "单位数量" msgid "Unit Price" msgstr "单价" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "拆解库存项" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "库存项已完成拆解" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "确认库存转移" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "确认退库" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "移动到默认位置" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "合并至现有库存" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "移动" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "退货" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "如有可能,将退回物料合并至现有库存物料" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "库存交易备注" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "总计" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "添加库存" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "库存已添加" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "按指定数量增加选定库存物料的存量。" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "移除库存" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "库存已移除" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "按指定数量减少选定库存物料的存量。" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "转移库存" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "库存已转移" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "将选定物料转移至指定位置。" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "退回库存" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "库存已退回" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "将选定物料退回库存至指定位置。" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "库存数量" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "库存计数" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "统计选定库存物料数量并按需调整。" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "更改库存状态" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "库存状态已改变" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "变更选定库存物料的状态。" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "修改批号" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "变更选定库存物料的批号" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "合并库存" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "库存已合并" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "合并库存物料" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "合并操作不可逆" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "合并操作可能导致追溯信息丢失" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "合并操作可能导致供应商信息丢失" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "将库存分配给客户" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "库存已分配给客户" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "删除库存项" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "库存已删除" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "此操作将永久删除选定的库存物料。" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "上级库存地点" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "查找序列号" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "未找到匹配项" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "存在多个匹配项" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "服务器返回无效响应" @@ -8315,8 +8327,8 @@ msgstr "子生产订单" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "测试结果" @@ -8951,7 +8963,7 @@ msgstr "零件参数无法编辑,因为零件已锁定" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "必填" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "库存操作" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "序列化" @@ -10779,12 +10791,12 @@ msgstr "创建生产订单" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "正在为生产订单分配库存" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "库存分配完成" @@ -10792,8 +10804,8 @@ msgstr "库存分配完成" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "根据所选选项,自动将未追踪的 BOM 物料分配到本次生 #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "取消库存分配" @@ -10877,7 +10889,7 @@ msgstr "显示外部生产订单" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "生成产出库存分配" @@ -10889,7 +10901,7 @@ msgstr "生成产出库存分配" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "根据所选选项,自动将已追踪的 BOM 物料分配到本次生产任务" @@ -10897,49 +10909,49 @@ msgstr "根据所选选项,自动将已追踪的 BOM 物料分配到本次生 #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "添加生成输出" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "生成产出已创建" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "完成成品产出" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "生产已完成" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "报废产出物料" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "生产已完成" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "撤销产出记录" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "生产已完成" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "编辑生成输出" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "解除产出库存分配" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "序列化生产产出" @@ -10947,69 +10959,69 @@ msgstr "序列化生产产出" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "按库存状态筛选" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "完成选定的输出" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "报废选定的输出" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "取消选定的输出" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "分配" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "为生产产出分配库存" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "取消分配" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "从生产输出中取消分配库存" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "序列化生产产出" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "完成生产输出" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "报废件" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "报废生产输出" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "取消生产输出" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "需要测试" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "外部生产" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "外部采购订单关联的生产订单" @@ -11881,14 +11893,14 @@ msgstr "按用户订阅的零件筛选" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "添加测试结果" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "测试结果已添加" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "测试结果已添加" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "无结果" @@ -12654,7 +12666,7 @@ msgstr "端点" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "结果" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "任务ID" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "已开始" @@ -13502,81 +13514,81 @@ msgstr "订单明细" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "测试" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "已安装库存项目的测试结果" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "附件" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "测试站" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "已完成" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "编辑测试结果" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "测试结果已更新" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "删除测试结果" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "测试结果已删除" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "测试通过" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "测试结果已被记录" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "记录测试结果失败" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "通过测试" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "显示需要测试的结果" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "包含已安装的" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "显示已安装库存项目的结果" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "通过" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "只显示通过的测试" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "显示启用测试的结果" diff --git a/src/frontend/src/locales/zh_Hant/messages.po b/src/frontend/src/locales/zh_Hant/messages.po index 95ce9b55c1..b4a1e6216c 100644 --- a/src/frontend/src/locales/zh_Hant/messages.po +++ b/src/frontend/src/locales/zh_Hant/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-07-31 09:22\n" +"PO-Revision-Date: 2026-08-10 05:57\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -82,20 +82,20 @@ msgstr "刪除" #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:148 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:323 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:414 -#: src/tables/build/BuildOutputTable.tsx:666 +#: src/tables/build/BuildOutputTable.tsx:665 msgid "Cancel" msgstr "取消" #: lib/components/RowActions.tsx:146 #: src/components/nav/NavigationDrawer.tsx:185 #: src/forms/PurchaseOrderForms.tsx:931 -#: src/forms/StockForms.tsx:910 -#: src/forms/StockForms.tsx:1477 -#: src/forms/StockForms.tsx:1525 -#: src/forms/StockForms.tsx:1594 -#: src/forms/StockForms.tsx:1643 -#: src/forms/StockForms.tsx:1682 -#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:911 +#: src/forms/StockForms.tsx:1478 +#: src/forms/StockForms.tsx:1526 +#: src/forms/StockForms.tsx:1595 +#: src/forms/StockForms.tsx:1644 +#: src/forms/StockForms.tsx:1683 +#: src/forms/StockForms.tsx:1801 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:976 msgid "Actions" msgstr "操作" @@ -157,15 +157,15 @@ msgstr "否" #: src/forms/ReturnOrderForms.tsx:241 #: src/forms/SalesOrderForms.tsx:434 #: src/forms/StockForms.tsx:393 -#: src/forms/StockForms.tsx:1472 -#: src/forms/StockForms.tsx:1520 -#: src/forms/StockForms.tsx:1589 -#: src/forms/StockForms.tsx:1638 -#: src/forms/StockForms.tsx:1677 -#: src/forms/StockForms.tsx:1726 -#: src/forms/StockForms.tsx:1796 -#: src/forms/StockForms.tsx:1843 -#: src/forms/StockForms.tsx:1887 +#: src/forms/StockForms.tsx:1473 +#: src/forms/StockForms.tsx:1521 +#: src/forms/StockForms.tsx:1590 +#: src/forms/StockForms.tsx:1639 +#: src/forms/StockForms.tsx:1678 +#: src/forms/StockForms.tsx:1727 +#: src/forms/StockForms.tsx:1797 +#: src/forms/StockForms.tsx:1844 +#: src/forms/StockForms.tsx:1888 #: src/forms/TransferOrderForms.tsx:238 #: src/pages/build/BuildOrderDetailsPanel.tsx:45 #: src/pages/part/PartDetail.tsx:811 @@ -673,7 +673,7 @@ msgstr "選取項目 (多筆)" #: src/components/nav/NotificationDrawer.tsx:235 #: src/components/nav/SearchDrawer.tsx:600 #: src/components/settings/SettingList.tsx:158 -#: src/components/tables/InvenTreeTableHeader.tsx:128 +#: src/components/tables/InvenTreeTableHeader.tsx:164 #: src/components/wizards/ImportPartWizard.tsx:574 #: src/components/wizards/ImportPartWizard.tsx:719 #: src/forms/BomForms.tsx:83 @@ -689,7 +689,7 @@ msgstr "選取項目 (多筆)" #: src/states/IconState.tsx:76 #: src/tables/bom/BomTable.tsx:592 #: src/tables/settings/EmailTable.tsx:109 -#: src/tables/stock/StockItemTestResultTable.tsx:339 +#: src/tables/stock/StockItemTestResultTable.tsx:336 msgid "Error" msgstr "錯誤" @@ -1071,7 +1071,7 @@ msgid "Refresh calendar" msgstr "" #: src/components/calendar/Calendar.tsx:334 -#: src/components/tables/InvenTreeTableHeader.tsx:293 +#: src/components/tables/InvenTreeTableHeader.tsx:329 msgid "Export data" msgstr "匯出資料" @@ -1503,7 +1503,7 @@ msgid "Remove the associated image from this item?" msgstr "刪除與此項關聯的圖片?" #: src/components/details/DetailsImage.tsx:82 -#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1594 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:326 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:417 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:898 @@ -2130,7 +2130,7 @@ msgstr "插件" #: src/tables/part/PartTestTemplateTable.tsx:121 #: src/tables/settings/TemplateTable.tsx:296 #: src/tables/settings/TemplateTable.tsx:408 -#: src/tables/stock/StockItemTestResultTable.tsx:421 +#: src/tables/stock/StockItemTestResultTable.tsx:418 msgid "Enabled" msgstr "已啓用" @@ -2243,7 +2243,7 @@ msgstr "" #: src/components/forms/fields/TreeField.tsx:414 #: src/components/wizards/ImportPartWizard.tsx:221 -#: src/forms/StockForms.tsx:1266 +#: src/forms/StockForms.tsx:1267 msgid "Loading..." msgstr "正在加載..." @@ -2305,7 +2305,7 @@ msgstr "按行驗證狀態篩選" #: src/components/importer/ImportDataSelector.tsx:396 #: src/components/wizards/WizardDrawer.tsx:113 -#: src/tables/build/BuildOutputTable.tsx:638 +#: src/tables/build/BuildOutputTable.tsx:637 msgid "Complete" msgstr "已完成" @@ -2455,8 +2455,8 @@ msgstr "選項" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:172 -#: src/components/tables/InvenTreeTableHeader.tsx:196 -#: src/components/tables/InvenTreeTableHeader.tsx:197 +#: src/components/tables/InvenTreeTableHeader.tsx:232 +#: src/components/tables/InvenTreeTableHeader.tsx:233 msgid "Barcode Actions" msgstr "條碼操作" @@ -2634,8 +2634,8 @@ msgid "Change" msgstr "變更" #: src/components/items/RoleTable.tsx:150 -#: src/forms/StockForms.tsx:1642 -#: src/tables/stock/StockItemTestResultTable.tsx:369 +#: src/forms/StockForms.tsx:1643 +#: src/tables/stock/StockItemTestResultTable.tsx:366 msgid "Add" msgstr "添加" @@ -3039,7 +3039,7 @@ msgstr "登出" #: src/components/render/Part.tsx:36 #: src/components/wizards/ImportPartWizard.tsx:808 #: src/defaults/links.tsx:47 -#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1476 #: src/pages/Index/Settings/SystemSettings.tsx:260 #: src/pages/part/PartDetail.tsx:298 #: src/pages/stock/LocationDetail.tsx:396 @@ -3208,7 +3208,7 @@ msgid "Attachments" msgstr "附件" #: src/components/panels/NotesPanel.tsx:27 -#: src/forms/StockForms.tsx:1545 +#: src/forms/StockForms.tsx:1546 #: src/tables/part/PartTestResultTable.tsx:218 #: src/tables/stock/StockTrackingTable.tsx:279 msgid "Notes" @@ -3521,17 +3521,17 @@ msgstr "類別" #: src/components/tables/Filter.tsx:507 #: src/forms/BuildForms.tsx:868 #: src/forms/PurchaseOrderForms.tsx:707 -#: src/forms/StockForms.tsx:634 -#: src/forms/StockForms.tsx:672 -#: src/forms/StockForms.tsx:1473 -#: src/forms/StockForms.tsx:1521 -#: src/forms/StockForms.tsx:1590 -#: src/forms/StockForms.tsx:1639 -#: src/forms/StockForms.tsx:1678 -#: src/forms/StockForms.tsx:1727 -#: src/forms/StockForms.tsx:1797 -#: src/forms/StockForms.tsx:1844 -#: src/forms/StockForms.tsx:1888 +#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:1474 +#: src/forms/StockForms.tsx:1522 +#: src/forms/StockForms.tsx:1591 +#: src/forms/StockForms.tsx:1640 +#: src/forms/StockForms.tsx:1679 +#: src/forms/StockForms.tsx:1728 +#: src/forms/StockForms.tsx:1798 +#: src/forms/StockForms.tsx:1845 +#: src/forms/StockForms.tsx:1889 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:88 #: src/pages/core/UserDetail.tsx:155 #: src/pages/stock/StockDetailsPanel.tsx:237 @@ -3540,10 +3540,10 @@ msgid "Location" msgstr "位置" #: src/components/render/Stock.tsx:94 -#: src/forms/StockForms.tsx:679 +#: src/forms/StockForms.tsx:680 #: src/pages/stock/StockDetail.tsx:657 #: src/pages/stock/StockDetailsPanel.tsx:135 -#: src/tables/build/BuildOutputTable.tsx:109 +#: src/tables/build/BuildOutputTable.tsx:110 #: src/tables/sales/SalesOrderAllocationTable.tsx:145 #: src/tables/stock/TransferOrderAllocationTable.tsx:130 msgid "Serial Number" @@ -3558,9 +3558,9 @@ msgstr "序列號" #: src/forms/PurchaseOrderForms.tsx:930 #: src/forms/ReturnOrderForms.tsx:242 #: src/forms/SalesOrderForms.tsx:437 -#: src/forms/StockForms.tsx:684 -#: src/forms/StockForms.tsx:908 -#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:685 +#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:1524 #: src/forms/TransferOrderForms.tsx:241 #: src/pages/build/BuildIndex.tsx:47 #: src/pages/part/PartStockHistoryDetail.tsx:64 @@ -3587,15 +3587,15 @@ msgstr "數量" #: src/forms/BuildForms.tsx:384 #: src/forms/BuildForms.tsx:467 #: src/forms/BuildForms.tsx:542 -#: src/forms/StockForms.tsx:1474 -#: src/forms/StockForms.tsx:1522 -#: src/forms/StockForms.tsx:1591 -#: src/forms/StockForms.tsx:1640 -#: src/forms/StockForms.tsx:1679 -#: src/forms/StockForms.tsx:1728 -#: src/forms/StockForms.tsx:1798 -#: src/forms/StockForms.tsx:1845 -#: src/forms/StockForms.tsx:1889 +#: src/forms/StockForms.tsx:1475 +#: src/forms/StockForms.tsx:1523 +#: src/forms/StockForms.tsx:1592 +#: src/forms/StockForms.tsx:1641 +#: src/forms/StockForms.tsx:1680 +#: src/forms/StockForms.tsx:1729 +#: src/forms/StockForms.tsx:1799 +#: src/forms/StockForms.tsx:1846 +#: src/forms/StockForms.tsx:1890 #: src/tables/build/BuildLineTable.tsx:109 msgid "Batch" msgstr "批次" @@ -3866,7 +3866,7 @@ msgid "Note" msgstr "備註" #: src/components/tables/ColumnRenderers.tsx:581 -#: src/tables/build/BuildOutputTable.tsx:716 +#: src/tables/build/BuildOutputTable.tsx:715 msgid "Allocated Lines" msgstr "已分配的項目" @@ -3939,12 +3939,12 @@ msgstr "顯示有批號的項目" #: src/components/tables/Filter.tsx:125 #: src/forms/PurchaseOrderForms.tsx:777 -#: src/forms/StockForms.tsx:691 +#: src/forms/StockForms.tsx:692 #: src/pages/build/BuildOrderDetailsPanel.tsx:186 #: src/pages/stock/StockDetail.tsx:679 #: src/pages/stock/StockDetailsPanel.tsx:220 #: src/tables/build/BuildAllocatedStockTable.tsx:119 -#: src/tables/build/BuildOutputTable.tsx:114 +#: src/tables/build/BuildOutputTable.tsx:115 #: src/tables/part/PartTestResultTable.tsx:273 #: src/tables/part/PartTestResultTable.tsx:298 #: src/tables/sales/SalesOrderAllocationTable.tsx:152 @@ -3958,13 +3958,13 @@ msgstr "依批次代碼過濾項目" #: src/components/tables/Filter.tsx:134 #: src/components/wizards/OrderPartsWizard.tsx:130 -#: src/forms/StockForms.tsx:1592 -#: src/forms/StockForms.tsx:1641 -#: src/forms/StockForms.tsx:1680 -#: src/forms/StockForms.tsx:1729 -#: src/forms/StockForms.tsx:1799 -#: src/forms/StockForms.tsx:1846 -#: src/forms/StockForms.tsx:1890 +#: src/forms/StockForms.tsx:1593 +#: src/forms/StockForms.tsx:1642 +#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1730 +#: src/forms/StockForms.tsx:1800 +#: src/forms/StockForms.tsx:1847 +#: src/forms/StockForms.tsx:1891 #: src/pages/company/SupplierPartDetail.tsx:221 #: src/pages/company/SupplierPartDetailsPanel.tsx:144 #: src/pages/part/PartDetail.tsx:569 @@ -4170,8 +4170,8 @@ msgstr "包含零件變體的結果" #: src/forms/PurchaseOrderForms.tsx:838 #: src/forms/ReturnOrderForms.tsx:195 #: src/forms/ReturnOrderForms.tsx:243 -#: src/forms/StockForms.tsx:649 -#: src/forms/StockForms.tsx:1387 +#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:1388 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:87 #: src/pages/build/BuildOrderDetailsPanel.tsx:67 #: src/pages/core/UserDetail.tsx:148 @@ -4180,7 +4180,7 @@ msgstr "包含零件變體的結果" #: src/pages/sales/SalesOrderDetailsPanel.tsx:72 #: src/pages/stock/StockDetailsPanel.tsx:108 #: src/pages/stock/TransferOrderDetailsPanel.tsx:49 -#: src/tables/build/BuildOutputTable.tsx:499 +#: src/tables/build/BuildOutputTable.tsx:498 #: src/tables/machine/MachineListTable.tsx:388 #: src/tables/part/PartPurchaseOrdersTable.tsx:46 #: src/tables/part/PartSalesOrdersTable.tsx:45 @@ -4303,7 +4303,7 @@ msgstr "移除過濾器" #: src/components/tables/FilterSelectDrawer.tsx:290 #: src/pages/part/PartStockHistoryDetail.tsx:67 #: src/tables/part/PartTestResultTable.tsx:210 -#: src/tables/stock/StockItemTestResultTable.tsx:208 +#: src/tables/stock/StockItemTestResultTable.tsx:205 msgid "Value" msgstr "值" @@ -4346,7 +4346,7 @@ msgid "Delete filter group" msgstr "" #: src/components/tables/FilterSelectDrawer.tsx:649 -#: src/components/tables/InvenTreeTableHeader.tsx:263 +#: src/components/tables/InvenTreeTableHeader.tsx:299 msgid "Table Filters" msgstr "表格篩選" @@ -4395,41 +4395,53 @@ msgstr "載入表格資料時發生錯誤" msgid "View {model}" msgstr "檢視 {model}" -#: src/components/tables/InvenTreeTableHeader.tsx:107 +#: src/components/tables/InvenTreeTableHeader.tsx:130 +msgid "No items selected" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:132 +msgid "1 selected item will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:134 +msgid "{N} selected items will be deleted" +msgstr "" + +#: src/components/tables/InvenTreeTableHeader.tsx:140 msgid "Delete Selected Items" msgstr "刪除所選項目" -#: src/components/tables/InvenTreeTableHeader.tsx:111 +#: src/components/tables/InvenTreeTableHeader.tsx:144 msgid "Are you sure you want to delete the selected items?" msgstr "確定要刪除所選的項目嗎?" -#: src/components/tables/InvenTreeTableHeader.tsx:113 +#: src/components/tables/InvenTreeTableHeader.tsx:148 #: src/tables/plugin/PluginListTable.tsx:327 msgid "This action cannot be undone" msgstr "此操作無法還原" -#: src/components/tables/InvenTreeTableHeader.tsx:124 +#: src/components/tables/InvenTreeTableHeader.tsx:160 msgid "Items deleted" msgstr "項目已刪除" -#: src/components/tables/InvenTreeTableHeader.tsx:129 +#: src/components/tables/InvenTreeTableHeader.tsx:165 msgid "Failed to delete items" msgstr "刪除項目失敗" -#: src/components/tables/InvenTreeTableHeader.tsx:180 +#: src/components/tables/InvenTreeTableHeader.tsx:216 msgid "Custom table filters are active" msgstr "自訂表格過濾器正在作用中" -#: src/components/tables/InvenTreeTableHeader.tsx:206 +#: src/components/tables/InvenTreeTableHeader.tsx:242 #: src/tables/general/BarcodeScanTable.tsx:95 msgid "Delete selected records" msgstr "刪除選中的記錄" -#: src/components/tables/InvenTreeTableHeader.tsx:226 +#: src/components/tables/InvenTreeTableHeader.tsx:262 msgid "Refresh data" msgstr "刷新數據" -#: src/components/tables/InvenTreeTableHeader.tsx:275 +#: src/components/tables/InvenTreeTableHeader.tsx:311 msgid "Active Filters" msgstr "作用中的過濾器" @@ -5641,7 +5653,7 @@ msgstr "已新增替代品" #: src/forms/BuildForms.tsx:465 #: src/forms/BuildForms.tsx:757 #: src/tables/build/BuildAllocatedStockTable.tsx:150 -#: src/tables/build/BuildOutputTable.tsx:688 +#: src/tables/build/BuildOutputTable.tsx:687 #: src/tables/part/PartTestResultTable.tsx:285 msgid "Build Output" msgstr "生產產出" @@ -5729,7 +5741,7 @@ msgstr "選擇分配庫存的源位置" #: src/tables/build/BuildLineTable.tsx:817 #: src/tables/build/BuildLineTable.tsx:822 #: src/tables/build/BuildLineTable.tsx:923 -#: src/tables/build/BuildOutputTable.tsx:238 +#: src/tables/build/BuildOutputTable.tsx:239 #: src/tables/sales/SalesOrderLineItemTable.tsx:436 #: src/tables/sales/SalesOrderLineItemTable.tsx:481 #: src/tables/stock/TransferOrderLineItemTable.tsx:343 @@ -5878,7 +5890,7 @@ msgstr "此零件是虛擬的,將不會收到任何實體庫存。" #~ msgstr "Store at line item destination" #: src/forms/PurchaseOrderForms.tsx:599 -#: src/forms/StockForms.tsx:576 +#: src/forms/StockForms.tsx:577 msgid "Set Location" msgstr "設置位置" @@ -5895,13 +5907,13 @@ msgid "Set Expiry Date" msgstr "設定到期日" #: src/forms/PurchaseOrderForms.tsx:639 -#: src/forms/StockForms.tsx:1357 +#: src/forms/StockForms.tsx:1358 msgid "Adjust Packaging" msgstr "調整封包" #: src/forms/PurchaseOrderForms.tsx:648 -#: src/forms/StockForms.tsx:584 -#: src/forms/StockForms.tsx:1348 +#: src/forms/StockForms.tsx:585 +#: src/forms/StockForms.tsx:1349 #: src/hooks/UseStockAdjustActions.tsx:152 msgid "Change Status" msgstr "更改狀態" @@ -5950,7 +5962,7 @@ msgid "Enter an expiry date for received items" msgstr "輸入收貨項目的到期日" #: src/forms/PurchaseOrderForms.tsx:824 -#: src/forms/StockForms.tsx:1403 +#: src/forms/StockForms.tsx:1404 #: src/pages/company/SupplierPartDetailsPanel.tsx:126 #: src/pages/company/SupplierPartDetailsPanel.tsx:184 #: src/pages/stock/StockDetailsPanel.tsx:350 @@ -6073,44 +6085,44 @@ msgstr "編輯庫存項" msgid "Select the part to install" msgstr "選擇要安裝的零件" -#: src/forms/StockForms.tsx:525 +#: src/forms/StockForms.tsx:526 #: src/pages/stock/StockDetail.tsx:289 msgid "Installed Items" msgstr "已安裝的項目" -#: src/forms/StockForms.tsx:556 +#: src/forms/StockForms.tsx:557 msgid "Automatic" msgstr "" -#: src/forms/StockForms.tsx:596 +#: src/forms/StockForms.tsx:597 msgid "This row cannot be removed as it has installed items" msgstr "" -#: src/forms/StockForms.tsx:609 +#: src/forms/StockForms.tsx:610 msgid "The following installed items will be uninstalled during disassembly" msgstr "" -#: src/forms/StockForms.tsx:635 +#: src/forms/StockForms.tsx:636 msgid "Custom location for the component items" msgstr "" -#: src/forms/StockForms.tsx:650 +#: src/forms/StockForms.tsx:651 msgid "Status for the component items" msgstr "" -#: src/forms/StockForms.tsx:673 +#: src/forms/StockForms.tsx:674 msgid "No location set" msgstr "" -#: src/forms/StockForms.tsx:757 +#: src/forms/StockForms.tsx:758 msgid "Additional Installed Items" msgstr "" -#: src/forms/StockForms.tsx:761 +#: src/forms/StockForms.tsx:762 msgid "The following items are installed within this stock item, but do not match a listed component. They will be uninstalled during disassembly." msgstr "" -#: src/forms/StockForms.tsx:906 +#: src/forms/StockForms.tsx:907 #: src/pages/part/pricing/BomPricingPanel.tsx:81 #: src/pages/part/pricing/BomPricingPanel.tsx:105 #: src/tables/bom/UsedInTable.tsx:66 @@ -6118,12 +6130,12 @@ msgstr "" msgid "Component" msgstr "組件" -#: src/forms/StockForms.tsx:907 +#: src/forms/StockForms.tsx:908 #: src/tables/build/BuildLineTable.tsx:414 msgid "Unit Quantity" msgstr "單位數量" -#: src/forms/StockForms.tsx:909 +#: src/forms/StockForms.tsx:910 #: src/pages/part/pricing/BomPricingPanel.tsx:133 #: src/pages/part/pricing/PriceBreakPanel.tsx:174 #: src/pages/part/pricing/PurchaseHistoryPanel.tsx:72 @@ -6138,201 +6150,201 @@ msgstr "單位數量" msgid "Unit Price" msgstr "單價" -#: src/forms/StockForms.tsx:928 +#: src/forms/StockForms.tsx:929 msgid "Disassemble Stock Item" msgstr "" -#: src/forms/StockForms.tsx:937 +#: src/forms/StockForms.tsx:938 msgid "Stock item disassembled" msgstr "" -#: src/forms/StockForms.tsx:1020 +#: src/forms/StockForms.tsx:1021 msgid "Confirm Stock Transfer" msgstr "確認庫存轉移" -#: src/forms/StockForms.tsx:1141 +#: src/forms/StockForms.tsx:1142 msgid "Confirm Stock Return" msgstr "" -#: src/forms/StockForms.tsx:1153 -#: src/forms/StockForms.tsx:1336 +#: src/forms/StockForms.tsx:1154 +#: src/forms/StockForms.tsx:1337 msgid "Move to default location" msgstr "移動到默認位置" -#: src/forms/StockForms.tsx:1366 -#: src/forms/StockForms.tsx:1539 +#: src/forms/StockForms.tsx:1367 +#: src/forms/StockForms.tsx:1540 msgid "Merge into existing stock" msgstr "" -#: src/forms/StockForms.tsx:1476 +#: src/forms/StockForms.tsx:1477 msgid "Move" msgstr "移動" -#: src/forms/StockForms.tsx:1524 +#: src/forms/StockForms.tsx:1525 msgid "Return" msgstr "退貨" -#: src/forms/StockForms.tsx:1540 +#: src/forms/StockForms.tsx:1541 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: src/forms/StockForms.tsx:1546 +#: src/forms/StockForms.tsx:1547 msgid "Stock transaction notes" msgstr "" -#: src/forms/StockForms.tsx:1681 +#: src/forms/StockForms.tsx:1682 #: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "總計" -#: src/forms/StockForms.tsx:1959 +#: src/forms/StockForms.tsx:1960 #: src/hooks/UseStockAdjustActions.tsx:112 msgid "Add Stock" msgstr "添加庫存" -#: src/forms/StockForms.tsx:1960 +#: src/forms/StockForms.tsx:1961 msgid "Stock added" msgstr "庫存已新增" -#: src/forms/StockForms.tsx:1963 +#: src/forms/StockForms.tsx:1964 msgid "Increase the quantity of the selected stock items by a given amount." msgstr "增加選定庫存項目的數量。" -#: src/forms/StockForms.tsx:1974 +#: src/forms/StockForms.tsx:1975 #: src/hooks/UseStockAdjustActions.tsx:122 msgid "Remove Stock" msgstr "移除庫存" -#: src/forms/StockForms.tsx:1975 +#: src/forms/StockForms.tsx:1976 msgid "Stock removed" msgstr "庫存已移除" -#: src/forms/StockForms.tsx:1978 +#: src/forms/StockForms.tsx:1979 msgid "Decrease the quantity of the selected stock items by a given amount." msgstr "減少選定庫存項目的數量。" -#: src/forms/StockForms.tsx:2000 +#: src/forms/StockForms.tsx:2001 #: src/hooks/UseStockAdjustActions.tsx:132 msgid "Transfer Stock" msgstr "轉移庫存" -#: src/forms/StockForms.tsx:2001 +#: src/forms/StockForms.tsx:2002 msgid "Stock transferred" msgstr "庫存已轉移" -#: src/forms/StockForms.tsx:2004 +#: src/forms/StockForms.tsx:2005 msgid "Transfer selected items to the specified location." msgstr "將選定項目轉移到指定位置。" -#: src/forms/StockForms.tsx:2015 +#: src/forms/StockForms.tsx:2016 #: src/hooks/UseStockAdjustActions.tsx:182 msgid "Return Stock" msgstr "退回庫存" -#: src/forms/StockForms.tsx:2016 +#: src/forms/StockForms.tsx:2017 msgid "Stock returned" msgstr "庫存已退回" -#: src/forms/StockForms.tsx:2019 +#: src/forms/StockForms.tsx:2020 msgid "Return selected items into stock, to the specified location." msgstr "將選定項目退回庫存,至指定位置。" -#: src/forms/StockForms.tsx:2035 +#: src/forms/StockForms.tsx:2036 #: src/hooks/UseStockAdjustActions.tsx:102 msgid "Count Stock" msgstr "庫存數量" -#: src/forms/StockForms.tsx:2036 +#: src/forms/StockForms.tsx:2037 msgid "Stock counted" msgstr "庫存已盤點" -#: src/forms/StockForms.tsx:2039 +#: src/forms/StockForms.tsx:2040 msgid "Count the selected stock items, and adjust the quantity accordingly." msgstr "盤點選定的庫存項目,並相應地調整數量。" -#: src/forms/StockForms.tsx:2050 +#: src/forms/StockForms.tsx:2051 msgid "Change Stock Status" msgstr "更改庫存狀態" -#: src/forms/StockForms.tsx:2051 +#: src/forms/StockForms.tsx:2052 msgid "Stock status changed" msgstr "庫存狀態已變更" -#: src/forms/StockForms.tsx:2054 +#: src/forms/StockForms.tsx:2055 msgid "Change the status of the selected stock items." msgstr "變更選定庫存項目的狀態。" -#: src/forms/StockForms.tsx:2077 +#: src/forms/StockForms.tsx:2078 #: src/hooks/UseStockAdjustActions.tsx:162 msgid "Change Batch Code" msgstr "變更批次代碼" -#: src/forms/StockForms.tsx:2080 +#: src/forms/StockForms.tsx:2081 msgid "Change batch code for the selected stock items" msgstr "變更選定庫存項目的批次代碼" -#: src/forms/StockForms.tsx:2097 +#: src/forms/StockForms.tsx:2098 #: src/hooks/UseStockAdjustActions.tsx:142 msgid "Merge Stock" msgstr "合併庫存" -#: src/forms/StockForms.tsx:2098 +#: src/forms/StockForms.tsx:2099 msgid "Stock merged" msgstr "庫存已合併" -#: src/forms/StockForms.tsx:2100 +#: src/forms/StockForms.tsx:2101 msgid "Merge Stock Items" msgstr "合併庫存項目" -#: src/forms/StockForms.tsx:2102 +#: src/forms/StockForms.tsx:2103 msgid "Merge operation cannot be reversed" msgstr "合併操作無法還原" -#: src/forms/StockForms.tsx:2103 +#: src/forms/StockForms.tsx:2104 msgid "Tracking information may be lost when merging items" msgstr "合併項目時可能會遺失追蹤資訊" -#: src/forms/StockForms.tsx:2104 +#: src/forms/StockForms.tsx:2105 msgid "Supplier information may be lost when merging items" msgstr "合併項目時可能會遺失供應商資訊" -#: src/forms/StockForms.tsx:2122 +#: src/forms/StockForms.tsx:2123 msgid "Assign Stock to Customer" msgstr "將庫存分配給客戶" -#: src/forms/StockForms.tsx:2123 +#: src/forms/StockForms.tsx:2124 msgid "Stock assigned to customer" msgstr "庫存已分配給客戶" -#: src/forms/StockForms.tsx:2133 +#: src/forms/StockForms.tsx:2134 msgid "Delete Stock Items" msgstr "刪除庫存項" -#: src/forms/StockForms.tsx:2134 +#: src/forms/StockForms.tsx:2135 msgid "Stock deleted" msgstr "庫存已刪除" -#: src/forms/StockForms.tsx:2137 +#: src/forms/StockForms.tsx:2138 msgid "This operation will permanently delete the selected stock items." msgstr "此操作將永久刪除選定的庫存項目。" -#: src/forms/StockForms.tsx:2146 +#: src/forms/StockForms.tsx:2147 msgid "Parent stock location" msgstr "上級庫存地點" -#: src/forms/StockForms.tsx:2273 +#: src/forms/StockForms.tsx:2274 msgid "Find Serial Number" msgstr "尋找序號" -#: src/forms/StockForms.tsx:2284 +#: src/forms/StockForms.tsx:2285 msgid "No matching items" msgstr "沒有符合的項目" -#: src/forms/StockForms.tsx:2290 +#: src/forms/StockForms.tsx:2291 msgid "Multiple matching items" msgstr "多個符合的項目" -#: src/forms/StockForms.tsx:2299 +#: src/forms/StockForms.tsx:2300 msgid "Invalid response from server" msgstr "伺服器回應無效" @@ -8315,8 +8327,8 @@ msgstr "子生產訂單" #: src/pages/build/BuildDetail.tsx:349 #: src/pages/part/PartDetail.tsx:471 #: src/pages/stock/StockDetail.tsx:275 -#: src/tables/build/BuildOutputTable.tsx:760 -#: src/tables/stock/StockItemTestResultTable.tsx:174 +#: src/tables/build/BuildOutputTable.tsx:759 +#: src/tables/stock/StockItemTestResultTable.tsx:171 msgid "Test Results" msgstr "測試結果" @@ -8951,7 +8963,7 @@ msgstr "零件參數無法編輯,因為零件已鎖定" #: src/pages/part/PartDetail.tsx:596 #: src/tables/part/PartTestTemplateTable.tsx:116 -#: src/tables/stock/StockItemTestResultTable.tsx:406 +#: src/tables/stock/StockItemTestResultTable.tsx:403 msgid "Required" msgstr "必填" @@ -10073,7 +10085,7 @@ msgid "Stock Operations" msgstr "庫存操作" #: src/pages/stock/StockDetail.tsx:579 -#: src/tables/build/BuildOutputTable.tsx:627 +#: src/tables/build/BuildOutputTable.tsx:626 msgid "Serialize" msgstr "序列化" @@ -10779,12 +10791,12 @@ msgstr "創建生產訂單" #~ msgstr "Automatically allocate stock to this build according to the selected options" #: src/tables/build/BuildLineTable.tsx:613 -#: src/tables/build/BuildOutputTable.tsx:228 +#: src/tables/build/BuildOutputTable.tsx:229 msgid "Allocating stock to build order" msgstr "分配庫存至生產訂單" #: src/tables/build/BuildLineTable.tsx:614 -#: src/tables/build/BuildOutputTable.tsx:229 +#: src/tables/build/BuildOutputTable.tsx:230 #: src/tables/sales/SalesOrderLineItemTable.tsx:347 msgid "Stock allocation complete" msgstr "庫存分配完成" @@ -10792,8 +10804,8 @@ msgstr "庫存分配完成" #: src/tables/build/BuildLineTable.tsx:624 #: src/tables/build/BuildLineTable.tsx:632 #: src/tables/build/BuildLineTable.tsx:892 -#: src/tables/build/BuildOutputTable.tsx:252 -#: src/tables/build/BuildOutputTable.tsx:538 +#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:537 #: src/tables/sales/SalesOrderLineItemTable.tsx:378 #: src/tables/sales/SalesOrderLineItemTable.tsx:449 msgid "Auto Allocate Stock" @@ -10815,8 +10827,8 @@ msgstr "根據選定的選項,將未追蹤的 BOM 項目自動分配給此生 #: src/tables/build/BuildLineTable.tsx:692 #: src/tables/build/BuildLineTable.tsx:841 #: src/tables/build/BuildLineTable.tsx:945 -#: src/tables/build/BuildOutputTable.tsx:450 -#: src/tables/build/BuildOutputTable.tsx:455 +#: src/tables/build/BuildOutputTable.tsx:449 +#: src/tables/build/BuildOutputTable.tsx:454 msgid "Deallocate Stock" msgstr "取消庫存分配" @@ -10877,7 +10889,7 @@ msgstr "顯示外部生產訂單" #~ msgid "Filter by user who issued this order" #~ msgstr "Filter by user who issued this order" -#: src/tables/build/BuildOutputTable.tsx:102 +#: src/tables/build/BuildOutputTable.tsx:103 msgid "Build Output Stock Allocation" msgstr "生產產出庫存分配" @@ -10889,7 +10901,7 @@ msgstr "生產產出庫存分配" #~ msgid "Auto-allocation in progress" #~ msgstr "Auto-allocation in progress" -#: src/tables/build/BuildOutputTable.tsx:253 +#: src/tables/build/BuildOutputTable.tsx:254 msgid "Automatically allocate tracked BOM items to this build according to the selected options" msgstr "根據選定的選項,將追蹤的 BOM 項目自動分配給此生產" @@ -10897,49 +10909,49 @@ msgstr "根據選定的選項,將追蹤的 BOM 項目自動分配給此生產" #~ msgid "Edit build output" #~ msgstr "Edit build output" -#: src/tables/build/BuildOutputTable.tsx:335 -#: src/tables/build/BuildOutputTable.tsx:579 +#: src/tables/build/BuildOutputTable.tsx:334 +#: src/tables/build/BuildOutputTable.tsx:578 msgid "Add Build Output" msgstr "添加生成輸出" -#: src/tables/build/BuildOutputTable.tsx:338 +#: src/tables/build/BuildOutputTable.tsx:337 msgid "Build output created" msgstr "生產產出已建立" -#: src/tables/build/BuildOutputTable.tsx:360 +#: src/tables/build/BuildOutputTable.tsx:359 msgid "Completing build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:361 +#: src/tables/build/BuildOutputTable.tsx:360 msgid "Build outputs have been completed" msgstr "生產已完成" -#: src/tables/build/BuildOutputTable.tsx:370 +#: src/tables/build/BuildOutputTable.tsx:369 msgid "Scrapping build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:371 +#: src/tables/build/BuildOutputTable.tsx:370 msgid "Build outputs have been scrapped" msgstr "生產已完成" -#: src/tables/build/BuildOutputTable.tsx:380 +#: src/tables/build/BuildOutputTable.tsx:379 msgid "Cancelling build outputs" msgstr "" -#: src/tables/build/BuildOutputTable.tsx:381 +#: src/tables/build/BuildOutputTable.tsx:380 msgid "Build outputs have been cancelled" msgstr "生產已完成" -#: src/tables/build/BuildOutputTable.tsx:441 -#: src/tables/build/BuildOutputTable.tsx:649 +#: src/tables/build/BuildOutputTable.tsx:440 +#: src/tables/build/BuildOutputTable.tsx:648 msgid "Edit Build Output" msgstr "編輯生成輸出" -#: src/tables/build/BuildOutputTable.tsx:457 +#: src/tables/build/BuildOutputTable.tsx:456 msgid "This action will deallocate all stock from the selected build output" msgstr "此操作將會從選定的生產產出取消分配所有庫存" -#: src/tables/build/BuildOutputTable.tsx:482 +#: src/tables/build/BuildOutputTable.tsx:481 msgid "Serialize Build Output" msgstr "序列化生產產出" @@ -10947,69 +10959,69 @@ msgstr "序列化生產產出" #~ msgid "View Build Output" #~ msgstr "View Build Output" -#: src/tables/build/BuildOutputTable.tsx:500 +#: src/tables/build/BuildOutputTable.tsx:499 #: src/tables/part/PartTestResultTable.tsx:329 #: src/tables/stock/StockItemTable.tsx:203 msgid "Filter by stock status" msgstr "按庫存狀態篩選" -#: src/tables/build/BuildOutputTable.tsx:546 +#: src/tables/build/BuildOutputTable.tsx:545 msgid "Complete selected outputs" msgstr "完成選定的輸出" -#: src/tables/build/BuildOutputTable.tsx:557 +#: src/tables/build/BuildOutputTable.tsx:556 msgid "Scrap selected outputs" msgstr "報廢選定的輸出" -#: src/tables/build/BuildOutputTable.tsx:568 +#: src/tables/build/BuildOutputTable.tsx:567 msgid "Cancel selected outputs" msgstr "取消選定的輸出" -#: src/tables/build/BuildOutputTable.tsx:599 +#: src/tables/build/BuildOutputTable.tsx:598 msgid "Allocate" msgstr "分配" -#: src/tables/build/BuildOutputTable.tsx:600 +#: src/tables/build/BuildOutputTable.tsx:599 msgid "Allocate stock to build output" msgstr "為生產產出分配庫存" -#: src/tables/build/BuildOutputTable.tsx:613 +#: src/tables/build/BuildOutputTable.tsx:612 msgid "Deallocate" msgstr "取消分配" -#: src/tables/build/BuildOutputTable.tsx:614 +#: src/tables/build/BuildOutputTable.tsx:613 msgid "Deallocate stock from build output" msgstr "從生產輸出中取消分配庫存" -#: src/tables/build/BuildOutputTable.tsx:628 +#: src/tables/build/BuildOutputTable.tsx:627 msgid "Serialize build output" msgstr "序列化生產產出" -#: src/tables/build/BuildOutputTable.tsx:639 +#: src/tables/build/BuildOutputTable.tsx:638 msgid "Complete build output" msgstr "完成生產輸出" -#: src/tables/build/BuildOutputTable.tsx:656 +#: src/tables/build/BuildOutputTable.tsx:655 msgid "Scrap" msgstr "報廢件" -#: src/tables/build/BuildOutputTable.tsx:657 +#: src/tables/build/BuildOutputTable.tsx:656 msgid "Scrap build output" msgstr "報廢生產輸出" -#: src/tables/build/BuildOutputTable.tsx:667 +#: src/tables/build/BuildOutputTable.tsx:666 msgid "Cancel build output" msgstr "取消生產輸出" -#: src/tables/build/BuildOutputTable.tsx:731 +#: src/tables/build/BuildOutputTable.tsx:730 msgid "Required Tests" msgstr "需要測試" -#: src/tables/build/BuildOutputTable.tsx:807 +#: src/tables/build/BuildOutputTable.tsx:806 msgid "External Build" msgstr "外部生產" -#: src/tables/build/BuildOutputTable.tsx:809 +#: src/tables/build/BuildOutputTable.tsx:808 msgid "This build order is fulfilled by an external purchase order" msgstr "此生產訂單由外部採購訂單履行" @@ -11881,14 +11893,14 @@ msgstr "按用户訂閲的零件篩選" #: src/tables/part/PartTestResultTable.tsx:185 #: src/tables/part/PartTestResultTable.tsx:339 #: src/tables/part/PartTestResultTable.tsx:353 -#: src/tables/stock/StockItemTestResultTable.tsx:297 -#: src/tables/stock/StockItemTestResultTable.tsx:370 -#: src/tables/stock/StockItemTestResultTable.tsx:431 +#: src/tables/stock/StockItemTestResultTable.tsx:294 +#: src/tables/stock/StockItemTestResultTable.tsx:367 +#: src/tables/stock/StockItemTestResultTable.tsx:428 msgid "Add Test Result" msgstr "添加測試結果" #: src/tables/part/PartTestResultTable.tsx:114 -#: src/tables/stock/StockItemTestResultTable.tsx:299 +#: src/tables/stock/StockItemTestResultTable.tsx:296 msgid "Test result added" msgstr "測試結果已添加" @@ -11901,7 +11913,7 @@ msgid "Test results added" msgstr "已新增測試結果" #: src/tables/part/PartTestResultTable.tsx:184 -#: src/tables/stock/StockItemTestResultTable.tsx:198 +#: src/tables/stock/StockItemTestResultTable.tsx:195 msgid "No Result" msgstr "無結果" @@ -12654,7 +12666,7 @@ msgstr "端點" #: src/tables/settings/BarcodeScanHistoryTable.tsx:89 #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 -#: src/tables/stock/StockItemTestResultTable.tsx:192 +#: src/tables/stock/StockItemTestResultTable.tsx:189 msgid "Result" msgstr "結果" @@ -12847,7 +12859,7 @@ msgid "Task ID" msgstr "任務ID" #: src/tables/settings/FailedTasksTable.tsx:42 -#: src/tables/stock/StockItemTestResultTable.tsx:234 +#: src/tables/stock/StockItemTestResultTable.tsx:231 msgid "Started" msgstr "已開始" @@ -13502,81 +13514,81 @@ msgstr "訂單項目" #~ msgid "Delete stock" #~ msgstr "Delete stock" -#: src/tables/stock/StockItemTestResultTable.tsx:144 +#: src/tables/stock/StockItemTestResultTable.tsx:141 msgid "Test" msgstr "測試" -#: src/tables/stock/StockItemTestResultTable.tsx:181 +#: src/tables/stock/StockItemTestResultTable.tsx:178 msgid "Test result for installed stock item" msgstr "已安裝庫存項目的測試結果" -#: src/tables/stock/StockItemTestResultTable.tsx:212 +#: src/tables/stock/StockItemTestResultTable.tsx:209 msgid "Attachment" msgstr "附件" -#: src/tables/stock/StockItemTestResultTable.tsx:228 +#: src/tables/stock/StockItemTestResultTable.tsx:225 msgid "Test station" msgstr "測試站" -#: src/tables/stock/StockItemTestResultTable.tsx:250 +#: src/tables/stock/StockItemTestResultTable.tsx:247 msgid "Finished" msgstr "已完成" -#: src/tables/stock/StockItemTestResultTable.tsx:308 -#: src/tables/stock/StockItemTestResultTable.tsx:380 +#: src/tables/stock/StockItemTestResultTable.tsx:305 +#: src/tables/stock/StockItemTestResultTable.tsx:377 msgid "Edit Test Result" msgstr "編輯測試結果" -#: src/tables/stock/StockItemTestResultTable.tsx:310 +#: src/tables/stock/StockItemTestResultTable.tsx:307 msgid "Test result updated" msgstr "測試結果已更新" -#: src/tables/stock/StockItemTestResultTable.tsx:316 -#: src/tables/stock/StockItemTestResultTable.tsx:389 +#: src/tables/stock/StockItemTestResultTable.tsx:313 +#: src/tables/stock/StockItemTestResultTable.tsx:386 msgid "Delete Test Result" msgstr "刪除測試結果" -#: src/tables/stock/StockItemTestResultTable.tsx:318 +#: src/tables/stock/StockItemTestResultTable.tsx:315 msgid "Test result deleted" msgstr "測試結果已刪除" -#: src/tables/stock/StockItemTestResultTable.tsx:332 +#: src/tables/stock/StockItemTestResultTable.tsx:329 msgid "Test Passed" msgstr "測試通過" -#: src/tables/stock/StockItemTestResultTable.tsx:333 +#: src/tables/stock/StockItemTestResultTable.tsx:330 msgid "Test result has been recorded" msgstr "測試結果已被記錄" -#: src/tables/stock/StockItemTestResultTable.tsx:340 +#: src/tables/stock/StockItemTestResultTable.tsx:337 msgid "Failed to record test result" msgstr "記錄測試結果失敗" -#: src/tables/stock/StockItemTestResultTable.tsx:357 +#: src/tables/stock/StockItemTestResultTable.tsx:354 msgid "Pass Test" msgstr "通過測試" -#: src/tables/stock/StockItemTestResultTable.tsx:407 +#: src/tables/stock/StockItemTestResultTable.tsx:404 msgid "Show results for required tests" msgstr "顯示需要測試的結果" -#: src/tables/stock/StockItemTestResultTable.tsx:411 +#: src/tables/stock/StockItemTestResultTable.tsx:408 msgid "Include Installed" msgstr "包含已安裝的" -#: src/tables/stock/StockItemTestResultTable.tsx:412 +#: src/tables/stock/StockItemTestResultTable.tsx:409 msgid "Show results for installed stock items" msgstr "顯示已安裝庫存項目的結果" -#: src/tables/stock/StockItemTestResultTable.tsx:416 +#: src/tables/stock/StockItemTestResultTable.tsx:413 msgid "Passed" msgstr "通過" -#: src/tables/stock/StockItemTestResultTable.tsx:417 +#: src/tables/stock/StockItemTestResultTable.tsx:414 msgid "Show only passed tests" msgstr "只顯示通過的測試" -#: src/tables/stock/StockItemTestResultTable.tsx:422 +#: src/tables/stock/StockItemTestResultTable.tsx:419 msgid "Show results for enabled tests" msgstr "顯示已啟用測試的結果"